如果我有一个大的数据框(数百列),这些列具有不同的变量名,并且按字母顺序随机分布:
df.x <- data.frame(2:11, 1:10, rnorm(10))
colnames(df.x) <- c("ID", "string", "delta")
如何按照列名字母顺序垂直地对所有数据进行排序?
基本上,我有数百个以CSV(sep="|")格式保存的文本文件,需要将它们的列读入单个df中,按字母顺序排列这些列,然后使用一些其他的dplyf函数来得到最终结果。我已经弄清楚了所有这些内容,除了如何按字母顺序排序列之外。我不想按照字母顺序对列进行排序(上下),而是按照列名和它们对应的数据的实际垂直方向排序。类似于在Excel中剪切和粘贴整个列的数据。
例如,我查看了这种方法,但这是“按行字母顺序排序”部分,不是我要做的事情。
谢谢!
df.x[,order(colnames(df.x))]
即可。 - Marat Talipov