在R中跨列迭代:=赋值

时间:2019-12-13 18:46:30

标签: r loops data.table

我可以使用以下内容来生成/替换数字列(var),并将其与该列的每个单元格的四分位数排名(1-4):

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

我想遍历数据表中每一列的转换。当我尝试以下操作时,表中的每个单元格都会变为数字1。为什么我没有得到预期的输出?我敢肯定,还有一种更简单的方法,因此也欢迎其他选择。谢谢!

for (i in 1:ncol(df))
{
  df[, colnames(df)[i]:=ntile(df[i], 4)]
}

0 个答案:

没有答案