我刚刚意识到,当我使用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会话?
答案 0 :(得分:6)
您可能希望改为使用save
和load
。
save(iris,file = "Iris.RData")
会将R对象本身保存到文件中,然后使用load
将其加载回工作区。当load
没有返回对象时,请不要混淆。它会将其加载到您的工作区中,因此如果您键入ls()
,您会看到它已列出。