【发布时间】:2016-01-20 23:57:29
【问题描述】:
如何根据最后一个字母使用字母或数字顺序对数据框的列进行排序?
列名示例:
variable_A variable_B variacle_C name_A name_B name_C
结果是:
variable_A name_A variable_B name_B variable_C name_C
【问题讨论】:
-
在您的示例中,这可能是
x[order(substr(x, nchar(x), nchar(x)))]。 -
或
df[order(sub(".*_", "", names(df)))] -
@DavidArenburg 这是答案,如果您愿意,请将其作为答案。你知道我是否使用像
variable_1 variable_8 variacle_10 name_1 name_8 name_10这样的数字我接受这个:variable_1 name_1 variable_10 name_10 variable_8 name_8可以像我们一样接受订单variable_1 name_1 variable_8 name_8 variable_10 name_10 -
@Keri 在
order之前将sub转换为numeric,即order(as.numeric(sub(...,因为sub的输出是character。只是为了理解它尝试sort(c("1", "8", "10", "4")) -
@akrun 就是这样。请如果你们俩都想把它作为答案,请做它,因为它回答了我的问题。
标签: r