提取 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")]

应该会给你你正在寻找的东西。在这里,您使用索引向量,其中列 XNaN(由 is.nan(df$X 生成)来索引数据框中的行。

您可以使用哪个函数:

nans <- which(is.na(X))

您可能还想确保正确使用 NaN/NA。 is.nais.nan 有点不同。 This post cleared it up for me