как сохранить порядок уровней в кадре данных? - PullRequest
3 голосов
/ 03 апреля 2012

Я только что понял, что когда я использую 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 Ответ

6 голосов
/ 03 апреля 2012

Вы, вероятно, хотите использовать save и load вместо.

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

сохранит сам объект R в файл, а затем загрузит его обратно в рабочее пространство, используя load. Не смущайтесь, когда load не возвращает объект. Он загружает его в ваше рабочее пространство, поэтому, если вы наберете ls(), вы увидите его в списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...