1
我有三個虛擬變量,指示數據採用虛擬變量R中
DS1 DS2 DS3
Pers1 1 0 0
Pers2 0 1 0
Pers3 0 1 1
之源創建列表,我想有
Source
Pers1 "DS1"
Pers2 "DS2"
Pers3 "DS2"|"DS3"
任何幫助,將不勝感激
我有三個虛擬變量,指示數據採用虛擬變量R中
DS1 DS2 DS3
Pers1 1 0 0
Pers2 0 1 0
Pers3 0 1 1
之源創建列表,我想有
Source
Pers1 "DS1"
Pers2 "DS2"
Pers3 "DS2"|"DS3"
任何幫助,將不勝感激
我會做這樣的事情:
df = data.frame(DS1 = c(1,0,0),
DS2 = c(0,1,1),
DS3 = c(0,0,1))
df$source = apply(df == 1, 1, function(x) paste(names(df)[x], collapse = "|"))
> df
DS1 DS2 DS3 source
1 1 0 0 DS1
2 0 1 0 DS2
3 0 1 1 DS2|DS3
其中apply
循環遍歷df == 1
data.frame的行,並且paste
創建一個字符串。
工程就像一個魅力!謝謝! – user1495088 2013-03-09 22:22:30