【发布时间】:2019-12-26 15:06:05
【问题描述】:
我刚刚开始学习 r 中的 data.table 和
library(data.table)
data(iris)
iris[Species == 'setosa']
上面的代码不会过滤数据集中物种为 setosa 的行,它只是打印满足条件的行。
iris <- iris[Species == 'setosa']
上面的代码有效,但我想知道在什么样的情况下我需要分配一个新对象才能使操作生效,而不仅仅是打印结果。另外,在同一个对象上赋值有什么风险吗?
【问题讨论】:
-
这个问题已经在这里详细解决了:How to delete a row by reference in data.table?总结一下,行不能原地删除,和你使用的方法(赋值给同一个对象)是完成此任务的正确且惯用的方法。 (当然,除非 this feature request 曾经实现过)
标签: r data.table