【发布时间】:2019-12-15 22:14:56
【问题描述】:
我想运行一个for循环说x次,例如,我想测试除此之外的所有先前数据是否为> 0.5,而这是< 0.5,因此对于x = 1,我将测试是否dt[code_a > 0.5 & code_b <0.5,]。对于x = 2,我想测试dt[code_a >0.5 & code_b >0.5 & code_c <0.5,] 等。然后我希望它只给出测试的列和id 列,但这很简单我可以只做dt_l <- list() 然后@987654329 @在for loop中。
这是样本数据
a <- runif(5)
b <- runif(5)
c <- runif(5)
d <- runif(5)
e <- runif(5)
id <- 1:5
dt <- data.table("ID" = id, "code_a" = a, "code_b" = b, "code_c" = c, "code_d" = d, "code_e" = e)
ID code_a code_b code_c code_d code_e
1: 1 0.7224877 0.4729436 0.88773445 0.3081957 0.0379483
2: 2 0.7629343 0.9226372 0.06482454 0.7126673 0.4047996
3: 3 0.1423318 0.9317842 0.77045695 0.3122390 0.5333623
4: 4 0.9592109 0.8323915 0.30976919 0.3952811 0.1727833
5: 5 0.7556562 0.4359695 0.99086645 0.6474944 0.0738418
预期输出
dt_l[[1]]
ID code_a code_b
1: 1 0.7224877 0.4729436
2: 5 0.7556562 0.4359695
dt_l[[2]]
ID code_a code_b code_c
1: 2 0.7629343 0.9226372 0.06482454
2: 4 0.9592109 0.8323915 0.30976919
dt_l[[3]]
ID code_a code_b code_c code_d
No rows
【问题讨论】:
-
在使用随机数据时请使用固定的随机种子(
set.seed(...)),以使结果可重现;否则我们将无法重新创建您的示例输入和输出。