提取 R 中存在 NaN 的行值
Extract row values where NaN is present in R
这可能是一个非常简单的问题,但我已经处理了一段时间。
我有一个数据框,其中 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。
这可能是一个非常简单的问题,但我已经处理了一段时间。
我有一个数据框,其中 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。