这可能是一个非常简单的问题,但我已经处理了一段时间。提取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。