第一个谜是为什么带有空单元格的csv文件中的字符向量不包含NA。相反,它们显示为“”。试过例如read.csv(file, na.strings = "")
,但失败了。
无论如何,问题是为什么这个函数返回错误,而它在函数外部工作。
clean.data <- function(dta, col) {
dta$col[dta$col == ""] <- NA # set empty cells to missing
}
显而易见的是错误,但我看不到它。
Error in `$<-.data.frame`(`*tmp*`, "col", value = logical(0)) :
replacement has 0 rows, data has 20692
答案 0 :(得分:0)
要回答您的第一个问题:''
与NA
不同。后者在R
中具有特定含义;这是一种特殊类型的非定义虚无。例如:
> 'foo'==''
[1] FALSE
> 'foo'==NA
[1] NA
您可以对''
执行逻辑操作和其他操作,但几乎任何涉及NA
的操作都会按设计返回NA
。