如何保存数据框中的级别顺序?

时间:2012-04-03 17:43:04

标签: r

我刚刚意识到,当我使用write.table()来保存R中的数据帧时,它并没有保存我设置特定因子变量水平的顺序。

检查虹膜中的物种等级:

> levels(iris$Species)
[1] "setosa"     "versicolor" "virginica" 

更改级别的顺序:

> iris$Species <- factor(iris$Species, levels=c("virginica","setosa","versicolor"))
> levels(iris$Species)
[1] "virginica"  "setosa"     "versicolor"

保存数据框并将其加载到新数据框中:

> write.table(iris, 'iris_new.table')
> newIris <- read.table('iris_new.table')

检查新数据框的顺序:

> levels(newIris$Species)
[1] "setosa"     "versicolor" "virginica"

如何保存数据框以便将其导出到其他R会话?

1 个答案:

答案 0 :(得分:6)

您可能希望改为使用saveload

save(iris,file = "Iris.RData")

会将R对象本身保存到文件中,然后使用load将其加载回工作区。当load没有返回对象时,请不要混淆。它会将其加载到您的工作区中,因此如果您键入ls(),您会看到它已列出。