【发布时间】:2016-03-14 19:40:13
【问题描述】:
我需要根据数据框的两列制作条形图。对于正确的顺序,我需要重新排序一列的因子,并用它重新排序数据框的其余部分。我尝试重新排序因子,但其余列保持不变。如何对整个数据框进行排序?我将展示我对 iris 数据所做的事情(请注意,我的数据实际上有两个标称列)
> d<-iris
> head(d)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
> d$Species<-factor(d$Species, labels=c("virginica","setosa","versicolor"))
> head(d)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 virginica
2 4.9 3.0 1.4 0.2 virginica
3 4.7 3.2 1.3 0.2 virginica
4 4.6 3.1 1.5 0.2 virginica
5 5.0 3.6 1.4 0.2 virginica
6 5.4 3.9 1.7 0.4 virginica
>
如您所见,Species 列按我想要的方式排序,但其余列保持不变。我能做什么?
编辑
我尝试了答案,并意识到我没有足够详细地说明我的问题: 当我使用数据框时,我需要重新排列物种列的因子的顺序。 除了重新排序的数据框外,我还在寻找这个结果,以便在绘图时使用这个顺序:
head(d1$Species)
[1] virginica virginica virginica virginica virginica virginica
Levels: virginica setosa versicolor
然而,直到现在,订单仍然不是我想要的: `
【问题讨论】: