R 数据集操作、替换
我有以下数据集:R 数据集操作、替换,r,data.table,R,Data.table,我有以下数据集: V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 1: NA NA NA NA NA NA NA NA NA NA 2: NA NA NA NA NA NA NA NA NA NA 3: NA NA NA NA NA NA NA NA NA NA 4: NA NA NA NA NA NA NA NA NA NA 5: NA NA NA NA N
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1: NA NA NA NA NA NA NA NA NA NA
2: NA NA NA NA NA NA NA NA NA NA
3: NA NA NA NA NA NA NA NA NA NA
4: NA NA NA NA NA NA NA NA NA NA
5: NA NA NA NA NA NA NA NA NA NA
---
3180: NA NA NA NA NA NA NA NA NA NA
3181: NA NA 185 NA NA NA NA NA NA NA
3182: 151 162 162 157 150 NA 162 162 NA NA
3183: NA NA NA NA NA NA NA NA NA NA
3184: 153 NA NA NA NA NA NA NA NA NA
我试图用1替换所有174,然后将所有其他值设置为0。
这是我的代码:
sibling=data.table(cbind((data[,'b16aa']),(data[,'b16ba']),(data[,'b16ca']),(data[,'b16da']),(data[,'b16ea']), (data[,'b16fa']),(data[,'b16ga']),(data[,'b16ha']),(data[,'b16ia']),(data[,'b16ja'])))
sibling[sibling == 174] <-1
这显然是错误的,我不知道如何将其他所有设置为0。如果
DF
是您的数据帧,请尝试以下操作:
DF[] <- as.numeric(DF == 174 & !is.na(DF))
您没有提供可复制的示例。什么是
数据
?您的“数据集”没有名为“b16aa”或类似的列。如果您使用的是data.table
,并且data
是data.table
,那么您不应该像现在这样创建同级。您的方法缺少很多东西,并且可能存在问题。请看,我希望数据表中等于174的所有内容都为1,其他所有内容都为0,即使是NA。现在也为NA
值添加了一个条件。
DF[] <- as.numeric(DF == 174 & !is.na(DF))
replace(DF, TRUE, as.numeric(DF == 174 & !is.na(DF)))