【发布时间】:2020-04-06 14:07:09
【问题描述】:
data1 = data.frame("Cat" = c(8,4,3,7),
"Dog"=c(4,7,10,5),
"Want"=NA)
data1$Try = ifelse(data1$Dog > data1$Cat, (data1$Dog - data1$Cat) * (1-runif(1, 0.5, 0.9)), -99)
我希望用这条规则创建“想要”: 如果狗 > 猫, “想要” = (狗 - 猫) * (1-runif(1, 0.5, 0.9))
但是,当我使用“Try”执行此操作时,它使用相同的随机“runif”值,但是,每次 Dog > Cat 我希望从“runif”生成一个新值,而不是每次都使用相同的值。
data1 = data.frame("Cat" = c(8,4,3,7),
"Dog"=c(4,7,10,5),
"Want"=NA)
data1 <- within(data1, Want2 <- ifelse(Dog-Cat>0,(Dog-Cat)*(1-runif(1, 0.5, 0.9)),-99))
data1$Dif = (data1$Dog - data1$Cat)/data1$Want2
我希望这个比例每次狗 > 猫都不同
【问题讨论】:
标签: r if-statement data.table