这是我的第一篇文章:)非常感谢。
我正在尝试在R中模拟数据我已经模拟了我的数据集。但是,现在我需要创建满足条件的新变量,例如:
dataTFULL2$RANDOM100[dataTFULL2$Variable1-dataTFULL2$Variable2 > 0] <- 1
dataTFULL2$RANDOM100[dataTFULL2$Variable1-dataTFULL2$Variable2 < 0] <- 0
使用该代码,我可以创建满足100%和0%情况的条件的变量。但是对于95%,90%,85%,80%.... 5%,我需要以相同的方式进行操作。
我坚持这一点,但是必须有一种方法可以计算出在特定百分比的情况下要满足的条件。
答案 0 :(得分:0)
作为原始帖子的评论者,我不确定我是否正确理解了这个问题。
据我所知,您创建了一个新变量(RANDOM100
),如果Variable1
高于Variable2
,则为1,否则为0。在100%的情况下,这是正确的。现在您要添加错误,因此仅在少数情况下(例如90%)正确。
如果您要尝试这样做,最简单的方法是创建一个随机分布的向量,并使用它在一定数量的索引处翻转值:
noise = runif(length(dataTFULL2$RANDOM100),0,1)
percentage = 0.90
dataTFULL2$RANDOM100[noise>precentage] = 1-dataTFULL2$RANDOM100[noise>precentage]
此代码创建一个向量,其随机值介于0到1之间。如果该值超过特定限制(例如0.90),则变量的值将被翻转(1变为0,0变为1)。
这是您想要做的吗?