【发布时间】:2014-10-27 21:59:19
【问题描述】:
我在 R 中有一个数据框,其中某些列中的某些行的值是 NA 或空字符串 ""。我想将这些转换为 NULL 值。
所以我需要我的数据框中的任何单元格为NA 或"" 为NULL。我该怎么做?
当我尝试时:
DF[ , DF$Column == NA] <- NULL
或
DF[ , DF$Column == ""] <- NULL
我收到错误:missing values are not allowed in subscripted assignments of data frames
如果我尝试:
DF[ , is.na(DF$Column)] <- NULL
我收到错误:duplicate subscripts for columns
如果我尝试:
is.na(DF$Column) <- NULL
或
DF[DF == NA] <- NULL
我没有收到任何错误,但我的数据框没有任何变化。
【问题讨论】:
-
这是对 R 中 NULL 值的误用。向量(本质上是 data.frame 中的列)不能包含观察值和 NULL 值的混合。在 R 中,我们更喜欢 NA 而不是 NULL 来表示缺失的数据。 NULL 值用于从列甚至整个列中删除元素。
-
知道了,谢谢!所以我最终会将这个数据集加载到 SQL DB 中。 SQL 会将 NA 解释为 NULL 吗?
-
取决于你怎么做。如果你使用
RODBC::sqlSave,是的,我很确定它是这样工作的。