gpt4 book ai didi

r - Error::is.na() 应用于类型为 'NULL' 的非(列表或向量)

转载 作者:行者123 更新时间:2023-12-05 04:13:26 25 4
gpt4 key购买 nike

当我使用下面的代码时,它会给我所需的输出

subset(ndata,!is.na(ndata$LHeart_Failure))

当我以其他形式执行上述相同代码时

out <- "LHeart_Failure"
subset(ndata,!is.na(ndata$out))

它给我错误:

logical(0)
Warning message:
In is.na(ndata$out) :
is.na() applied to non-(list or vector) of type 'NULL'

这里的 ndata 是来自 .csv 文件的数据。 LHeart_Failure 是列的名称,我想通过它找到该特定列中没有“NA”的所有行(即 LHeart_Failure 中没有 NA 的所有行)。

最佳答案

当我尝试在不存在的数据框列上调用 is.na() 时收到此错误消息,例如

> ndata <- data.frame(v1=c(1:3), v2=c("one", "two", "three"))
> subset(ndata, !is.na(ndata$out))
[1] v1 v2
<0 rows> (or 0-length row.names)
Warning message:
In is.na(ndata$out) :
is.na() applied to non-(list or vector) of type 'NULL'

因此,在尝试使用它进行子集化之前,您应该先确保 out 列实际存在。

我个人会避免使用 subset 而只是显式地对数据框进行子集化。根据您所写的内容,您似乎想要保留数据框 ndata 中的行,其中 out没有 NA 值。在这种情况下,您可以尝试:

ndata[!is.na(ndata$out), ]

关于r - Error::is.na() 应用于类型为 'NULL' 的非(列表或向量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37718462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com