用R替换数据表中的小随机数零元素

用R替换数据表中的小随机数零元素,r,replace,data.table,zero,R,Replace,Data.table,Zero,我有下面的数据表。我需要使用R将CPP列中的零值替换为小的随机数。这可能是一项简单的任务,但我无法解决这个问题 我尝试了这个,但给了我一个错误: cty_d <- Table1[,sum(CPP==0)] Table1[Table1 ==0] <- runif(cty_d,min=0.0001,max=0.001) 是否尝试在更新时使用RAND命令 Update MyTable set CPP=(RAND() / 100) where CPP=0 是否尝试在更新时使用RAND命令

我有下面的数据表。我需要使用R将CPP列中的零值替换为小的随机数。这可能是一项简单的任务,但我无法解决这个问题

我尝试了这个,但给了我一个错误:

cty_d <- Table1[,sum(CPP==0)]
Table1[Table1 ==0] <- runif(cty_d,min=0.0001,max=0.001)

是否尝试在更新时使用RAND命令

Update MyTable set CPP=(RAND() / 100) where CPP=0

是否尝试在更新时使用RAND命令

Update MyTable set CPP=(RAND() / 100) where CPP=0
将表1的子集设置为
CPP==0
,然后更新该子集的CPP(
:=
通过引用更新)
.N
数据。表
用于观察的语法。因此,在示例表中为3,因为
CPP==0
的子集有3行


将表1的子集设置为
CPP==0
,然后更新该子集的CPP(
:=
通过引用更新)
.N
数据。表
用于观察的语法。因此,在示例表中为3,因为
CPP==0
的子集有3行。

使用类似于您文章中的工作流:

Table1$CPP[Table1$CPP==0] <- runif(sum(Table1$CPP==0),min=0.0001,max=0.001)

Table1$CPP[Table1$CPP==0]使用与您文章中类似的工作流:

Table1$CPP[Table1$CPP==0] <- runif(sum(Table1$CPP==0),min=0.0001,max=0.001)

Table1$CPP[Table1$CPP==0]这是公平的,尽管看起来
Table1
已经是
数据了。从OP的代码来看,table
谢谢。我将该表作为数据表格式。它成功了。这是公平的,尽管看起来
Table1
已经是
数据了。从OP的代码判断,table
谢谢。我将该表作为数据表格式。成功了。