【发布时间】:2017-03-27 19:37:12
【问题描述】:
让DT成为这个数据表:
DT <- data.table(A=1:2, B=3:4)
我们可以像这样替换 B 列第 2 行的单元格:
DT[2, `:=`(B=99)]
但我想通过给出列的 index 而不是它的名称来替换。怎么样?
【问题讨论】:
-
@MrFlick 是的,完全正确! (这是预期的答案)。谢谢!
-
与我们对数据框的处理方式相同吗?
DT[2, 2] <- 99 -
通常在编程中使用列索引是个坏主意,因为您并不真正知道那里有什么,而且如果您修改错误的列也不会出错。
-
另一个(尽管有大卫的评论):
set(DT, 2, 2, 99). -
@DavidArenburg 在我的情况下,这是唯一的方法。
标签: r data.table