如何在数据框中保留变量级别的顺序?

3
我刚刚意识到,当我使用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
尝试使用 savesaveRDS - Joshua Ulrich
1个回答

6
您可能希望使用saveload来代替。
save(iris,file = "Iris.RData")

将会把 R 对象本身保存到文件中,然后使用 load 将其加载回工作空间。当 load 不返回对象时,请不要感到困惑。它是将其加载到您的工作空间中,因此如果您键入 ls(),您将看到它被列出。


+1 因为解释了 load 的工作原理,我第一次使用它时确实感到困惑。 - pedrosaurio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接