RHS替换缺失值的R函数错误

时间:2014-01-20 11:51:27

标签: r function missing-data

第一个谜是为什么带有空单元格的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 

1 个答案:

答案 0 :(得分:0)

要回答您的第一个问题:''NA不同。后者在R中具有特定含义;这是一种特殊类型的非定义虚无。例如:

> 'foo'==''
[1] FALSE
> 'foo'==NA
[1] NA

您可以对''执行逻辑操作和其他操作,但几乎任何涉及NA的操作都会按设计返回NA