Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于Select列的R DataTable函数 set.seed(1) data=data.frame( 学生=1:5000, 阿尔法=runif(5000), bravo=runif(5000), charlie=runif(5000), delta=runif(5000), echo=runif(5000)) setDT(数据) 数据[,colname(数据[1:3]):=fifelse(colname(数据)_R_Data.table - Fatal编程技术网

用于Select列的R DataTable函数 set.seed(1) data=data.frame( 学生=1:5000, 阿尔法=runif(5000), bravo=runif(5000), charlie=runif(5000), delta=runif(5000), echo=runif(5000)) setDT(数据) 数据[,colname(数据[1:3]):=fifelse(colname(数据)

用于Select列的R DataTable函数 set.seed(1) data=data.frame( 学生=1:5000, 阿尔法=runif(5000), bravo=runif(5000), charlie=runif(5000), delta=runif(5000), echo=runif(5000)) setDT(数据) 数据[,colname(数据[1:3]):=fifelse(colname(数据),r,data.table,R,Data.table,所以基本上我想做的是: 对于第1-3列(学生、阿尔法、布拉沃),我希望将

所以基本上我想做的是:
对于第1-3列(学生、阿尔法、布拉沃),我希望将<2500的值替换为“a”,或者如果是2500或更多,则将其替换为“b”。我希望对这三列同时这样做。我知道我可以用:=fifelse()编写单独的命令,但问题是我有一个更大的数据,需要这样做大约100次

我们可以指定
.SDcols
中的列,使用
lappy
循环
.SD
,应用
fifelse
,将输出分配回列

 set.seed(1)
   data=data.frame(
    student=1:5000,
    alfa =runif(5000), 
    bravo =runif(5000), 
    charlie =runif(5000), 
    delta =runif(5000), 
    echo =runif(5000))
setDT(data)
data[, colnames(data[1:3]) := fifelse(colname(data) < 2500, "a", "b")]
library(data.table)
nm1 <- names(data)[1:3]
data[, (nm1) := lapply(.SD, function(x) fifelse(x < 2500, "a", "b")),
       .SDcols = nm1]
head(data)
#   student alfa bravo    charlie     delta      echo
#1:       a    a     a 0.06471249 0.2133639 0.2106027
#2:       a    a     a 0.67661240 0.9693570 0.1147864
#3:       a    a     a 0.73537169 0.7277707 0.1453641
#4:       a    a     a 0.11129967 0.3439635 0.3099322
#5:       a    a     a 0.04665462 0.1440118 0.1502421
#6:       a    a     a 0.13091031 0.1385575 0.5266817