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