Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用不同的随机变量替换R表中的所有NA项_R_Csv - Fatal编程技术网

用不同的随机变量替换R表中的所有NA项

用不同的随机变量替换R表中的所有NA项,r,csv,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)]

我在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)
dataTable=read.csv(“my data.csv”,header=TRUE,sep=“,”,quote=“\”,
dec=“.”,fill=TRUE,comment.char=“”)

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

确实执行了
dataTable[is.na(dataTable)]@Emer我也有同样的想法,但是添加了
replace=TRUE
这样你就不会耗尽采样值。听起来你在做(类似于)缺失数据的插补,因此您可能希望查看为此目的编写的软件包。可接受的答案非常有效,谢谢。是否有一种简单的方法使样本产生偏差,比如我希望75%的随机值为-0.3?是的,您可以通过
prob
参数添加一组权重,或者只编写
随机值