我想在data.table中使用`set`成为-1到NA的全部

时间:2017-04-12 03:43:41

标签: r data.table

我如何在data.table中使用'Explicitly access ThisWorkbook.ActiveSheet.Name before using TypeOf If TypeOf ThisWorkbook.Sheets(ThisWorkbook.ActiveSheet.Name) Is PublicInterface Then 函数  set?我希望我的数据中的所有-1变为NA

1 个答案:

答案 0 :(得分:1)

我们可以首先将'data.frame'转换为'data.table'(setDT(data)),循环遍历'data'列,然后set {{1} }}到NA,其中逻辑条件(value)匹配行元素

shich(data[[j]]== -1)

这也可以通过library(data.table) setDT(data) for(j in seq_along(data)) { set(data, i = which(data[[j]]== -1), j = j, value = NA) } data # V1 V2 V3 V4 V5 #1: 0 NA 3 NA NA #2: 0 0 0 NA 4 #3: 3 3 3 NA 3 #4: 4 NA 3 4 NA #5: 3 0 0 NA 0

以紧凑的方式完成
base R

数据

NA^(data== -1)*data