通过该因子内的变量对因子变量进行重新排序

时间:2015-07-08 17:56:06

标签: r

假设我的数据如下所示:

set.seed(782015)
df1 <-
  data.frame(name = factor(sample(
    x = LETTERS[1:4], size = 1000, prob = c(.25,.25,.25,.25), replace = T
  )),
  number = rnorm(n = 1000, mean = 100, sd = 10))

我想重新排序系数变量name,方法是先使用mean(number),然后降低最后一个。在这个例子中它应该是:

  name        
1    B 
2    C 
3    D 
4    A 

这样做的最佳方式是什么?

谢谢!

澄清:

 levels(df1$name)
 [1] "A" "B" "C" "D"

我希望它返回B C D A

2 个答案:

答案 0 :(得分:6)

你想要(等待......)reorder

> df1$name <- reorder(df1$name, -df1$number)
> levels(df1$name)
[1] "B" "C" "D" "A"

答案 1 :(得分:0)

你可以试试这个:

.bot{
    margin-bottom:20px;
}