尝试用R中的列方法替换NAs

时间:2014-03-11 17:44:57

标签: r

我正在尝试在数据上运行这个简单的代码,这是一个包含800个特征和200000个观测值的数据框架。

我一直使用的这个简单代码:

C <- ncol(data)
for (i in 1:C){
  print(i)
  data[is.na(data[,i]),i] <- mean(data[,i], na.rm=T) 
}

返回:

[1] 1    
Error: cannot allocate vector of size 1.6 Mb

我真的不明白为什么,因为我可以独立地调用该功能的平均值而没有任何错误。任何

1 个答案:

答案 0 :(得分:0)

该错误意味着您的内存不足以计算方法。

有时,根据对象的引用次数,R将复制对象,对副本进行更改,然后替换原始文件(reference)。这很可能是你的情况。

我建议你使用 data.table 包,它允许无副本变量修改。