我有一個數據幀「動物」:當這是連續唯一值時,將0轉換爲NAs。保留所有其他0,使用R
ID A B C D
1 Bear 1 1 1 0
2 Tiger 0 0 0 0
3 Horse 1 0 1 0
4 Badger 0 0 0 1
5 Rabbit 1 1 0 1
6 Otter 0 0 0 0
7 Peacock 1 0 0 0
我想零點轉換隻包含零到NAS行,但留下其他零,因爲它們。我能做到這一點,如下所示:
animals$Result = rowSums(animals[2:ncol(animals)])
df = data.frame()
for(row in 1:nrow(animals)) {
row = as.data.frame(animals[row,])
if(row$Result == 0){
row[2:5] = NA
}
df = rbind(df,row)
print(row)}
df$Result = NULL
要獲得此:
ID A B C D
Bear 1 1 1 0
Tiger NA NA NA NA
Horse 1 0 1 0
Badger 0 0 0 1
Rabbit 1 1 0 1
Otter NA NA NA NA
Peacock 1 0 0 0
不過,我覺得應該是這樣做一個簡單的方法。在那兒?謝謝!