【发布时间】:2019-08-01 18:03:01
【问题描述】:
这是一个“我如何在 data.table 中做这个基于 R 的事情”类型的问题。我的目标是根据某些条件为列分配一个值。我通常如何在基础 R 中执行此操作如下。我的问题是这通常如何在 data.table 中完成:
library(data.table)
iris$Sepal.Length[iris$Sepal.Width > 3] <- NA
irisDT <- as.data.table(iris)
irisDT$Sepal.Length[Sepal.Width > 3] <- NA
#> Error in irisDT$Sepal.Length[Sepal.Width > 3] <- NA: object 'Sepal.Width' not found
由reprex package (v0.3.0) 于 2019-08-01 创建
【问题讨论】:
-
是的,这是 100%。谢谢。
-
这是答案:
irisDT[Sepal.Width > 3, Sepal.Length := NA]。 @DavidKlotz 你想添加它以便我接受吗? -
一般来说,试着习惯用 data.table 在
[]内做所有事情。我有时认为[让您在使用]“退出”之前“进入”数据以进行一些处理。 -
@boshek 将您的想法拆分为是否使用 := 可能会有所帮助...在这里,首先评估
i然后这些行可供 j 使用
标签: r data.table