首页 > 解决方案 > 使用 data.table 使用条件进行就地修改

问题描述

这是一个“我如何在 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 包(v0.3.0)于 2019 年 8 月 1 日创建

标签: rdata.table

解决方案


查看data.tables 文档,特别是第 2b 节以进行就地修改。

我会做:

irisDT[Sepal.Width > 3, Sepal.Length := NA_real_]

推荐阅读