我有以下数据集:
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
但是输出是:
> sib1
[1] 1
这显然是错误的,我不确定如何将其他所有内容设置为0。
如果DF
是你的数据帧,那么试试这个:
DF[] <- as.numeric(DF == 174 & !is.na(DF))
或这个非破坏性的版本,可以分配到您希望的名称:
replace(DF, TRUE, as.numeric(DF == 174 & !is.na(DF)))