這可能是一個非常簡單的問題,但我已經處理了一段時間。提取R中存在NaN的行值
我有一個數據框,其中列X有一些「NaN」值。當X是「NaN」時,我需要提取列A和B的行值,並將它們放入新的數據框中。
我認爲解決的辦法應該是類似這樣的if語句的東西,但它不工作:
X = df$X
A = df$A
B = df$B
NaNvalues <- if (is.nan(X)) {
data.frame(A, B)
}
這可能是一個非常簡單的問題,但我已經處理了一段時間。提取R中存在NaN的行值
我有一個數據框,其中列X有一些「NaN」值。當X是「NaN」時,我需要提取列A和B的行值,並將它們放入新的數據框中。
我認爲解決的辦法應該是類似這樣的if語句的東西,但它不工作:
X = df$X
A = df$A
B = df$B
NaNvalues <- if (is.nan(X)) {
data.frame(A, B)
}
new_df <- df[is.nan(df$X), c("A","B")]
應該給你你在找什麼。在此,使用X
爲NaN
(由is.nan(df$X
生成)的索引向量索引數據框中的行。
您可以使用該功能:
nans <- which(is.na(X))
您還可能希望確保你使用正確的NaN/NA。 is.na
和is.nan
有點不同。 This post cleared it up for me。