重新排列R中数据框中的行

时间:2014-08-08 23:19:39

标签: r dataframe

我在尝试弄清楚如何在R中的数据框中重新排列行时遇到了一些麻烦。根据文档,这可以使用factor命令完成,但这似乎不起作用。这是一个名为uCSE的数据框。当我尝试重新排序Comp的级别时,顺序不会改变(即,行仍然按字母顺序排序,顶部是Multi)。

> uCSE$Comp <- factor(uCSE$Comp, levels=c("No","Single","Multi"))
> uCSE
Source: local data frame [12 x 5]
Groups: Comp

     Comp SNR    meanCSE      stdCSE           SE
1   Multi   1 0.01522042 0.002184382 9.970293e-05

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

尝试使用sort()包装factor()。

> a <- c("No", "single", "No", "Multi", "single", "No")
> a
[1] "No"     "single" "No"     "Multi"  "single" "No"

> a.sorted <- sort(factor(a, levels=c("No", "single", "Multi")))
> a.sorted
[1] No     No     No     single single Multi 
Levels: No single Multi

排序将按您设置级别的顺序运行。在这里,我使用不同的级别

> a.sorted2 <- sort(factor(a, levels=c("single", "Multi", "No")))
> a.sorted2
[1] single single Multi  No     No     No    
Levels: single Multi No