用数据表R

时间:2018-12-06 10:41:55

标签: r data.table

找到了dataframe的解决方案,将所有列中的文本替换为另一文本。但是我不能为datatable使用相同的名称。以下是我尝试过的。但是,当将data.frame更改为data.table时,它不能提供正确的数据。

DF<- data.frame(lapply(DT, function(x) {gsub("abc", "xyz", x)}))

我需要在abc对象的所有列中查找并用xyz替换所有data.table的出现

1 个答案:

答案 0 :(得分:1)

如果它是data.table,并且我们想更改所有列值,请使用data.table方法。根据OP的代码,我们选择所有列(因此无需指定.SDcols),使用lapply遍历Data.table的子集,将'abc'替换为'xyz' gsub(假设存在多个“ abc”实例)并通过将输出分配(:=)回到原始列来更新原始列

attrdata2[, names(attrdata2) := lapply(.SD, function(x) gsub("abc", "xyz", x))]