【发布时间】:2015-10-17 06:34:24
【问题描述】:
我有 223 列的数据框。
dput(colnames(a6))
c("d.54", "PRODUCT", "POS", "d.53", "d.52", "d.51", "d.50", "d.49",
"d.48", "d.47", "d.46", "d.45", "d.44", "d.43", "d.42", "d.41",
"d.40", "d.39", "d.38", "d.37", "d.36", "d.35", "d.34", "d.33",
"d.32", "d.31", "d.30", "d.29", "d.28", "d.27", "d.26", "d.25",
"d.24", "d.23", "d.22", "d.21", "d.20", "d.19", "d.18", "d.17",
"d.16", "d.15", "d.14", "d.13", "d.12", "d.11", "d.10", "d.9",
"d.8", "d.7", "d.6", "d.5", "d.4", "d.3", "d.2", "d.1", "d",
"agr", "n", "s", "n.1", "s.1", "n.2", "s.2", "n.3", "s.3", "n.4",
"s.4", "n.5", "s.5", "n.6", "s.6", "n.7", "s.7", "n.8", "s.8",
"n.9", "s.9", "n.10", "s.10", "n.11", "s.11", "n.12", "s.12",
"n.13", "s.13", "n.14", "s.14", "n.15", "s.15", "n.16", "s.16",
"n.17", "s.17", "n.18", "s.18", "n.19", "s.19", "n.20", "s.20",
"n.21", "s.21", "n.22", "s.22", "n.23", "s.23", "n.24", "s.24",
"n.25", "s.25", "n.26", "s.26", "n.27", "s.27", "n.28", "s.28",
"n.29", "s.29", "n.30", "s.30", "n.31", "s.31", "n.32", "s.32",
"n.33", "s.33", "n.34", "s.34", "n.35", "s.35", "n.36", "s.36",
"n.37", "s.37", "n.38", "s.38", "n.39", "s.39", "n.40", "s.40",
"n.41", "s.41", "n.42", "s.42", "n.43", "s.43", "n.44", "s.44",
"n.45", "s.45", "n.46", "s.46", "n.47", "s.47", "n.48", "s.48",
"n.49", "s.49", "n.50", "s.50", "n.51", "s.51", "n.52", "s.52",
"n.53", "s.53", "n.54", "s.54", "r.0", "r.1", "r.2", "r.3", "r.4",
"r.5", "r.6", "r.7", "r.8", "r.9", "r.10", "r.11", "r.12", "r.13",
"r.14", "r.15", "r.16", "r.17", "r.18", "r.19", "r.20", "r.21",
"r.22", "r.23", "r.24", "r.25", "r.26", "r.27", "r.28", "r.29",
"r.30", "r.31", "r.32", "r.33", "r.34", "r.35", "r.36", "r.37",
"r.38", "r.39", "r.40", "r.41", "r.42", "r.43", "r.44", "r.45",
"r.46", "r.47", "r.48", "r.49", "r.50", "r.51", "r.52", "r.53",
"r.54")
我尝试以这种方式重新排序列
agr d d.1 d.2 --d.54 ....
按 1 个字符排序,然后按每个组中的数字排序。
我试试a7=a6[,order(colnames(a6))]
但它只对 char 进行排序并得到这样的结果
colnames(a7)
[1] "agr" "d" "d.1" "d.10" "d.11" "d.12" "d.13" "d.14" "d.15" "d.16" "d.17"
[12] "d.18" "d.19" "d.2" "d.20" "d.21"
认为对于这样的问题有简单的答案,但我找不到它......
【问题讨论】: