【发布时间】:2019-05-20 22:02:04
【问题描述】:
我有一个带有 NA 的样本向量,我想用 NULL 替换这些 NA
ts<-c(12,NA,45,16,48,69,NA,3)
我试过了,但是没用
ts[is.na(ts)]<-NULL
有没有办法做到这一点? 谢谢。
【问题讨论】:
-
不行,NULL有特殊含义,可以插入字符串"NULL"。
-
为什么不使用已知且经过验证的插补方法替换它?
-
但如果我使用字符串,我将无法使用该向量进行计算(平均值、中位数)
-
"向量中不允许有 NULL。当您尝试将其设置为向量中的值时,它会被悄悄忽略...对于任何向量(矩阵或数组),NA 表示缺失值。NULL 没有。” (r-bloggers.com/r-na-vs-null)
-
为什么要用NULL代替NA?对于像平均值/中位数这样的计算,保留它并运行它应该更安全,例如
mean(ts, na.rm=T)。如果存在 NULL 而不是 NA,您期望什么行为?