【发布时间】:2020-04-26 09:17:12
【问题描述】:
我有数百个文件需要以复杂的方式对其列进行排序。想象一个字符向量x,它是names(foo) 的结果,其中foo 是data.frame:
x <- c("x1","i2","Component.1","Component.10","Component.143","Component.13",
"r4","A","C16:1n-7")
我想根据以下规则对其进行排序:首先,任何以“组件”开头的内容都按字母顺序排列。其次,以“C”和数字开头的任何剩余内容按字母顺序排列。剩下的所有内容按字母顺序排在第三位。
对于x,那就是:
x[c(3,4,6,5,9,8,2,7,1)]
这是regexp 类型的任务吗?有人使用match 吗?每个文件将有不同数量的列(因此x 将具有不同的长度)。任何提示表示赞赏。
【问题讨论】:
-
有疑问,
Component的值不应该正确排序,即"Component.1" "Component.10" "Component.13" "Component.143"还是只是按照出现的顺序排序 -
哎呀。是的。你是对的。