【发布时间】:2021-06-12 17:04:03
【问题描述】:
我有两个数据集dt1 和dt2:
N = 100
dt1 <- data.table(x = rnorm(N), y=rnorm(N))
dt2 <- data.table(x = rnorm(N), z=rnorm(N))
list_dt <- list(dt1 = dt1, dt2 = dt2)
如果y 和z 为负数,则强制为0。我是这样实现的:
naming <- c("y","z")
for (i in seq_along(naming)){
list_dt[[i]] <- setDT( list_dt[[i]] )[ noquote(naming[i]) < 0, noquote(naming[i]) := 0 ]
}
但它不起作用。我看到问题可能是由于函数noquote(),但我不知道为什么。任何建议表示赞赏!
【问题讨论】:
标签: r dplyr data.table tidyverse