【发布时间】:2020-03-10 05:22:47
【问题描述】:
我正在尝试根据另一列有效地为一列分配值,但没有 for 循环,因为这需要太长时间。
我正在做这样的事情:如果参考列值大于某个随机数,我将 1 分配给新列。否则,赋值为 0。无法找出没有循环的最佳方法。我尝试了dplyr 和case_when,但这并没有遍历每一行。
谢谢!
for (i in 1:nrow(data)) {
if (data$value[i] > runif(1, 0, 1.7)) {
temp$newValue[i] <- 1
} else{
temp$newValue[i] <- 0
}
}
【问题讨论】:
-
试试
temp$newValue <- +(data$value > runif(nrow(data), 0, 1.7))。