标题似乎有点混乱,所以让我看看,如果我可以用一个小例子阐明数据帧分割和顺序列这R:</p> <p>我有3列看上去就像一个数据帧:根据另一列
col1 col2 col3
1 A,D,C sd,dg,ds 5,26,1
2 D,F fh,we 85,41
3 H hr 27
4 C,A,D ds,sd,dg 235,65,3
5 Q,G,J rt,gh,we 34,98,65
我想字母顺序COL1的每一个元素,然后订购COL2和COL3的每个元素按照COL1的顺序,得到这样的:
col1 col2 col3
1 A,C,D sd,ds,dg 5,1,26
2 D,F fh,we 85,41
3 H hr 27
4 A,C,D sd,ds,dg 65,235,3
5 G,J,Q gh,we,rt 98,65,34
这是后来我重要原因想COL1聚集,我需要的元件1,4的例子等于(A,C,d)
到目前为止,我被困在这里:
MWE
my.df <- data.frame(col1=c('A,D,C','D,F','H','C,A,D','Q,G,J'), col2=c('sd,dg,ds','fh,we','hr','ds,sd,dg','rt,gh,we'), col3=c('5,26,1','85,41','27','235,65,3','34,98,65'))
my.df
my.df$col1 <- sapply(sapply(strsplit(as.character(my.df$col1), ','), sort), paste, collapse=',')
my.df
任何帮助赞赏!谢谢!!
真的很优雅,最好避免循环! – DaniCee