引用数据表中的列名称=:

时间:2019-03-25 20:46:33

标签: r data.table

我正在运行一个循环,其中基于一些数据创建两个数字列。这两个列名称是由它们所在的循环部分生成的。因此,例如,前两列是df $ loop1.1和df $ loop1.2,然后在随后的循环中它们将是df $ loop2。 1和df $ loop2.2

我需要创建基于这两个列的第三列,如下所示:

df[, divisioncol := loop1.1 / loop1.2]

但是,我遇到了错误

    non-numeric argument to binary operator

有什么建议吗?

已解决

 df[, divisioncol := get(loop1.1)/get(loop2.2)]

1 个答案:

答案 0 :(得分:0)

您的错误是由二进制运算符的非数字参数引起的。这里的二进制运算符是函数/,即除法。这意味着loop1.1loop1.2包含一个非数字值。通过输入typeof(df$loop1.1)typeof(df$loop1.2)

进行验证