Odczytuję dane z pliku csv. Jeśli widzę ten plik w R, mam:Używanie funkcji apply na macierzy z wpisami NA
V1 V2 V3 V4 V5 V6 V7
1 14 25 83 64 987 45 78
2 15 65 789 32 14 NA NA
3 14 67 89 14 NA NA NA
Jeśli chcę maksymalną wartość w każdej kolumnie, używam to:
apply(df,2,max)
i jest to wynik:
V1 V2 V3 V4 V5 V6 V7
15 67 789 64 NA NA NA
ale działa na kolumnie, która nie ma NA
. Jak mogę zmienić swój kod, aby porównać także kolumny z NA
?
Dziękuję za odpowiedź, ale jeśli mogę użyć 'zastosowanie (df, 2, FFT, na.rm = TRUE)' Pojawia się błąd: 'Błąd w FUN (newX [, i], ...): nieużywany argument (s) (na.rm = TRUE)' Wydaje się, że nie działa z FFT (z innymi takimi jak max, ...) działa dobrze – TangoStar
Spójrz na '? apply': argumenty po FUN (np.' max' lub 'fft') są przekazywane do FUN. A 'fft' nie ma parametru' na.rm', dlatego pojawia się błąd. Możesz użyć 'na.omit()' na pierwszej kolumnie, a następnie 'fft'. – ROLO
dziękuję Dayana :) jak mogę zaimplementować go z for()? – TangoStar