作者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/cn.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