用不同的随机替换R表中的所有NA条目

时间:2014-10-27 15:52:39

标签: r csv

我在R中有一个大表,其中有一堆列都是NA。我想用另一个表中的随机抽样数替换每个NA单元格,如下所示:

dataTable=read.csv("my-data.csv", header = TRUE, sep = ",", quote = "\"",
                   dec = ".", fill = TRUE, comment.char = "")

randValues <-c(0,0.3,-0.3)

dataTable[is.na(dataTable)] <- sample(randValues,1)

问题是每个单元格都被randTable中随机选择的SAME替换。如何为每个单元格获取不同的编号?

1 个答案:

答案 0 :(得分:3)

尝试sample(randValues, sum(is.na(dataTable)),replace=TRUE)这可以保证您获得与NA值一样多的独立样本,并允许每次随机选择相同的值。 (sum函数强制logical输出为数字1和0)