作者tHEiPHoNe ( )
看板R_Language
標題[問題] DF轉換成不同長度的向量
時間Mon Nov 30 19:52:48 2015
有一組Data.frame
其中id為人
route為路徑
S user 依序行走路徑為 a -> b -> c -> d -> c -> a -> e
G user 依序行走路徑為 a -> b -> a -> c -> e
原始紀錄格式如下
ID route
S, a
S, b
S, c
S, d
S, c
S, a
S, e
G, a
G, b
G, a
G, c
G, e
H, a
H, b
H, c
H, e
J, a
J, c
J, a
J, c
J, e
K, a
K, b
K, a
K, e
想轉成vector
如下
c(
"S,a,b,c,d,c,a,e",
"G,a,b,a,c,e",
"H,a,b,c,e",
"J,a,c,a,c,e",
"K,a,b,a,e"
)
請問該如何處理這一類型的轉換
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 202.89.121.16
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1448884370.A.260.html
1F:→ celestialgod: out=tapply(df$route, df$ID, paste, collapse=",") 11/30 20:12
2F:→ celestialgod: out = paste(names(out), out, sep = ",") 11/30 20:12
3F:→ celestialgod: df是input的data.frame out是你要的結果 11/30 20:12
4F:→ tHEiPHoNe: 謝謝 有試過tapply 但在fun那邊一直無法使用transpose 11/30 20:40
5F:→ celestialgod: 不懂你要什麼transpose.. 11/30 20:44
8F:→ celestialgod: 如果是要轉成list就直接tapply, FUN用c就好 11/30 20:56
9F:→ tHEiPHoNe: 好的 非常感謝 11/30 21:09