我有以下數據集:數據集操控,替代
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
你有*沒有*提供了一個可重複的例子。什麼是'數據'?你的「數據集」沒有任何名爲「b16aa」的列或類似的東西。如果你使用'data.table','data'是'data.table',那麼你不應該像你一樣創建兄弟。你的方法會遺漏很多東西和可能存在的問題。 – mnel 2013-05-06 23:10:59
請參閱http://stackoverflow.com/questions/16408642/dataset-manipulation-substitution/16408858#16408858 – 2013-05-06 23:42:28