Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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
迭代:=在R中跨列赋值_R_Loops_Data.table - Fatal编程技术网

迭代:=在R中跨列赋值

迭代:=在R中跨列赋值,r,loops,data.table,R,Loops,Data.table,我可以使用以下方法生成/替换一个数值列(var),该列的每个单元格的四分位数(1-4): df <- as.data.table(df) df[, var:=ntile(var, 4)] 欢迎,由于缺乏数据,很难写出完整的答案。请参见创建最小可复制示例。但是,您可能可以用dplyr mutate_all语句替换for循环,这将导致类似df%>%mutate_all(ntile(,4))df[,names(df):=lapply(.SD,ntile,4)]。谢谢!拉普拉方法非常有效@冰淇淋

我可以使用以下方法生成/替换一个数值列(var),该列的每个单元格的四分位数(1-4):

df <- as.data.table(df)
df[, var:=ntile(var, 4)]

欢迎,由于缺乏数据,很难写出完整的答案。请参见创建最小可复制示例。但是,您可能可以用dplyr mutate_all语句替换for循环,这将导致类似df%>%mutate_all(ntile(,4))
df[,names(df):=lapply(.SD,ntile,4)]
。谢谢!拉普拉方法非常有效@冰淇淋巨嘴鸟
for (i in 1:ncol(df))
{
  df[, colnames(df)[i]:=ntile(df[i], 4)]
}