標題似乎有點混亂,所以讓我看看,如果我可以用一個小例子闡明數據幀分割和順序列這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