按字母顺序排列多列相同的条目。

问题描述 投票:0回答:1

我在R中发现了一些关于多列排序的问题,但是这些列至少有一个双项,比如两次同名之类的。我的数据框是这样的

VP Selbst ES        eigForm eigES     andForm andES     MM MMRT MMES
5  3      laut      7       modern    5       sensibel  f  1082 neugierig
5  3      modern    7       neugierig 1       laut      j  801  sensibel
5  4      sensibel  2       laut      3       neugierig j  734  modern
5  2      neugierig 1       sensibel  2       modern    j  496  laut

我想比较不同性状的评级(ES,eigES,和ES,MMES),并创建一个新的变量,告诉如果评级是相同的这个性状或不。但正如你所看到的那样,它们每次的顺序都不一样(它们在实验中出现的顺序)。所以我想把这3列中的条目按字母顺序排列。我怎样才能做到这一点呢?

我试过 datn[order(datn[,3], datn[,5], datn[,7], datn[,10]),]以得到这样的东西

VP Selbst ES        eigForm eigES     andForm andES     MM MMRT MMES
5  3      laut      2       laut      1       laut      j  496  laut
5  3      modern    7       modern    2       modern    j  734  modern
5  2      neugierig 7       neugierig 3       neugierig f  1082 neugierig
5  4      sensibel  1       sensibel  5       sensibel  j  801  sensibel

但不灵了

r sorting
1个回答
1
投票

你应该像这样把你的数据框分开 df[,1:4] , df[,5:7] 等开头。然后您可以使用 join(), merge() 诸如此类 merge(df[,1:4] ,df[,5:7], by=...)

或者,您也可以使用 order() 函数,对每个分离的数据帧进行排序后,使用 cbind() 你也可以绑定它们。

© www.soinside.com 2019 - 2024. All rights reserved.