假设我有一个包含两个因素的数据框,我想对按第二类分组的一个因素的水平进行排序。
name <- letters[1:8]
category <- factor(sample(1:2, 8, replace=T), labels=c("A", "B"))
my.df <- data.frame(name=name, category=category)
因此数据框看起来类似于:
name category
1 a A
2 b A
3 c B
4 d B
5 e B
6 f A
7 g A
8 h A
levels(my.df$name)
的输出是:
[1] "a" "b" "c" "d" "e" "f" "g" "h"
假设 name
中的级别始终对应于我数据中 category
中的相同级别,我如何相应地对 name 级别进行排序?
最佳答案
这是你想要的吗?
> levels(my.df$name) <- as.character(unique(my.df[order(my.df$category),]$name))
> levels(my.df$name)
[1] "b" "c" "e" "f" "a" "d" "g" "h"
关于r - 如何根据另一个类别对因子水平进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7787235/