R 子集并替换data.table中的行和列
我需要修改data.table中特定行的某些列。我不断得到一个错误,“未使用的参数(with=F)”。有人知道如何快速处理这个问题吗?下面是一个使用data.frames和data.table的示例 谢谢R 子集并替换data.table中的行和列,r,data.table,R,Data.table,我需要修改data.table中特定行的某些列。我不断得到一个错误,“未使用的参数(with=F)”。有人知道如何快速处理这个问题吗?下面是一个使用data.frames和data.table的示例 谢谢 test.df <- data.frame(a=rnorm(100, 0, 1), b=rnorm(100, 0, 1), c=rnorm(100,0,1)) test.dt <- as.data.table(test.df) test.df[tes
test.df <- data.frame(a=rnorm(100, 0, 1), b=rnorm(100, 0, 1), c=rnorm(100,0,1))
test.dt <- as.data.table(test.df)
test.df[test.df$a<test.df$b,c(1,2)] <- 10* test.df[test.df$a<test.df$b,c(1,2)]
test.dt[test.dt$a<test.dt$b, c(1,2), with=F] <- 10* test.dt[,c(1,2),with=F][test.dt$a<test.dt$b, c(1,2), with=F]
test.df首先-您不需要,也不应该(作为一个好的编程问题)在[.data.table
中使用data.table
名称
其次,您应该尽可能避免使用列编号——这是未来令人头痛的问题,应该改为使用列名
最后,更改data.table
中的列的方法是使用:=
操作符就地修改(请参见?':='
)
结合以上所有内容,您应该这样做:
test.dt[a < b, `:=`(a = 10 * a, b = 10 * b)]
test.dt[a