2017-01-24 3 views
0

Новое для R. При импорте столбцов CSV-файла читаются как символы, когда они фактически являются или должны быть -факторами. Все три столбца, о которых идет речь, имеют только два уровня (да/нет и мужчина/женщина).Импорт CSV-файла в R-факторы, считанные как символы

Моя попытка: В диалоговом окне Импорт текстовых данных я меняю столбцы на коэффициент, вставляя список факторов, разделенных запятыми.

> LungCapDataCSVnew <- read_csv("~/file.csv", 
    col_types = cols(Caesarean = col_factor(levels = c("no", 
    "yes")), Gender = col_factor(levels = c("male", 
    "female")), Smoke = col_factor(levels = c("no", 
    "yes")))) 

> View(file) 

> class(Gender) 
[1] "character" 

> class(Smoke) 
[1] "character" 

Как показано на рисунке, столбцы «Пол» и «Дым» считаются символами, когда они должны быть факторами.

Как это решить?

+3

Возможно, просто используйте 'read.csv'. – lmo

+2

Я смущен тем, что вы ссылаетесь на столбцы без фрейма данных. Может быть, у вас есть старый прикрепленный фрейм данных в вашем рабочем пространстве? Что показывает 'class (LungCapDataCSVnew $ Smoke)' show? Что относительно 'str (LungCapDataCSVnew)'? – Gregor

+0

Вы могли бы предоставить образец своих данных? –

ответ

0

Использование может изменить символ в фактор

LungCapDataCSVnew$Smoke<-as.factor(LungCapDataCSVnew$Smoke) 
LungCapDataCSVnew$Gender<-as.factor(LungCapDataCSVnew$Gender) 

Новый в R. Советовать website- http://cran.r-project.org/manuals.html

Благодаря

+0

это решило это - спасибо !! – Carsten

0

Это странно, что просто read.csv() без каких-либо дополнительных аргументов не считывается автоматически в ваших персонажах как факторы.

После импорта файла с file <- read.csv("~/file.csv") вы можете попробовать

i <- sapply(file, is.character) 
file[i] <- lapply(file[i], as.factor) 

Чтобы преобразовать все столбцы символов на множители

+0

Спасибо - отличная помощь – Carsten

-2

Как я только что обнаружил: read.csv кажется, выявить факторы и уровни read_csv делает не, он просто назначает заголовок столбца как символ.

Смежные вопросы