我正在使用一些非常大的數據框,爲了縮短計算量,我需要排除具有NA值的行,但是在計算並創建新數據框後我需要將它們帶回(到新的數據框)。有沒有可能跟蹤我排除哪些行?如何跟蹤數據框中的哪些行在R中具有NA值
例如:
X1 X2 X3 X4
1 3 4 5 4
2 3 3 3 4
3 NA NA NA NA
4 4 3 3 2
所以,我要的是「complete.cases」 3號,是指與NA的行數被排除之後得到的。是否可以不添加額外的列與編號?
我正在使用一些非常大的數據框,爲了縮短計算量,我需要排除具有NA值的行,但是在計算並創建新數據框後我需要將它們帶回(到新的數據框)。有沒有可能跟蹤我排除哪些行?如何跟蹤數據框中的哪些行在R中具有NA值
例如:
X1 X2 X3 X4
1 3 4 5 4
2 3 3 3 4
3 NA NA NA NA
4 4 3 3 2
所以,我要的是「complete.cases」 3號,是指與NA的行數被排除之後得到的。是否可以不添加額外的列與編號?
您可以使用na.omit
,然後attr(na.omit(df), "na.action")
給出了3
此外,
rownames(df)[!complete.cases(df)]
# [1] "3"
作爲一個變種,我會建議'has_na < - which(!complete.cases(df))' –
要返回行包含至少一個NA
指數,我們也可以使用:
rownames(df[rowSums(is.na(df)) > 0,])
# [1] "3"
是有可能的。自己試過了什麼? –
檢查'?complete.cases' –
@Emkin歡迎光臨SO。請幫助我們通過在R中包含示例數據(例如,通過'dput'或'read.table'和'text ='參數生成的),預期結果(數據)以及您嘗試過的代碼來創建快速準確的答案遠。謝謝! –