Как сохранить фрейм данных (CSV или любой другой) с измененным типом переменной - PullRequest
0 голосов
/ 04 мая 2018

Я читаю csv-файл в консоль, смотрю на тип переменных через str (data), меняю некоторые переменные на требуемые типы (factor, integer, numeric и т. Д.), И после этого я хочу сохранить (записать) этот файл обратно на ПК с этими изменениями - вот в чем проблема.
Есть ли способ сохранить файл с этими изменениями ???

#reading csv to console
mydata= read.csv("mydata.csv" , header = TRUE, sep = ",", dec = ".")

#looking at types
str(mydata)

#changing type of variable - first column calls variable1 and it is integer, I want factor
mydata$variable1 = as.factor(as.character(mydata$variable1))

#looking at types again, mydata$variable1 is factor right now
str(mydata)

#writing that file in PC, with changes
write.csv(mydata, file = "converted_mydata.csv", row.names=FALSE)

и теперь, когда я читаю этот csv, изменений нет - mydata $ variable1 снова является целым числом.

#reading csv to console
mydata_changed= read.csv("converted_mydata.csv" , header = TRUE, sep = ",", dec = ".")

Заранее спасибо.

1 Ответ

0 голосов
/ 04 мая 2018

То, что вы пытаетесь выполнить, должно работать, когда вы явно указываете факторные метки, например, вот так:

mydata$variable1 = factor(mydata$variable1, labels = c("label1", "label2", ... ))

Количество меток и то, какое имя вы используете, конечно же, зависит от природы вашей переменной "variable1".

Обратите внимание, что таким образом фактор типа данных не сохраняется в самом файле csv, но функция read.csv восстановит его как фактор (это потому, что по умолчанию он считывает строковые значения как факторы).

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