我有一个数据帧k,其中包含以下相同顺序的字符串:
6 to 12 months
12 to 24 months
36 to 60 months
60 to 96 months
0 to 6 months
24 to 36 months
96 to 120 months
120 months & above.
当我应用sort
命令时,它按整数值排序。例如。字符串120 months and above
放在6-12 months
之前。谁能告诉我如何使用一些R命令对它进行排序:
0 to 6 months
6 to 12 months
12 to 24 months
24 to 36 months
36 to 60 months
60 to 96 months
96 to 120 months
120 months & above.
答案 0 :(得分:0)
当自定义排序不起作用时,您需要manually specify the order
。使用您指定的订单创建一个因子,并sort
。即使数组不包含您按顺序提及的组,也可以正常工作。
col1 = c("6 to 12 months",
"12 to 24 months",
"36 to 60 months",
"60 to 96 months",
"0 to 6 months",
"24 to 36 months",
"96 to 120 months",
"120 months & above")
order <- c("0 to 6 months",
"6 to 12 months",
"12 to 24 months",
"24 to 36 months",
"36 to 60 months",
"60 to 96 months",
"96 to 120 months",
"120 months & above")
col2 <- factor(col1, levels = order)
sort(col2)
确保order
包含数组中的所有可能值。此示例看起来非常简单,因为输入向量是唯一的。如果输入的长度为100,那么这8个可能的值就足够了。
如果还有更多此类分区,请使用此
names(sort(sapply(col1, function(x)
as.integer(stringr::str_split(x, pattern = ' ')[[1]][1]))))
两种方法都提供相同的输出。我更喜欢第一种方法,因为它更不容易出错。
答案 1 :(得分:0)
这个怎么样:
button.addEventListener('click', (e) => { e.preventDefault(); this.method2(); });
我认为你可以将它缩放到任何大小的类别(只要字符串的第一部分遵循某种顺序)。