2013-06-08 2 views
0

Я пытаюсь прочитать созданный Excel CSV-файл в R. Я пробовал множество предложений, но ни один из них не был полностью разработан для меня.R конвертировать импортированные Excel числовые обратно из R факторов в числовые

Вот как данные выглядят в файле .csv, с первой строкой является заголовок:

recipe_type,State,Successes,Attempts 
paper,alabama ,586,3379 

Вот мой R команды, чтобы импортировать файл в формате CSV:

options(StringsAsFactors=F) 
results<-read.csv("recipe results.csv", header=TRUE, as.is=T) 
results$Successes 
[1] "586" 

И Успехи рассматриваются как символьные данные.

И я также пробовал этот подход: результатов [, 3] < - as.numeric (уровни (результаты $ Успехи)), но получить ранг каждого значения в этом столбце, а не фактическое значение, которое другое сообщения сказали бы.

Любые идеи о том, как получить эти данные как числовые, чтобы я мог получить правильную статистику stat.desc для этого?

Благодаря

+0

Чтобы преобразовать коэффициент в числовой, вы можете использовать 'as.numeric (results $ Successes)'. Но кажется, что в этом столбце есть некоторые нечисловые значения. – DrDom

+0

Hi DrDom: Вы имеете в виду вот так: результаты <-as.numeric (results $ Successes)? Я получил все: [1] NA NA NA NA. Раньше, я думаю, что я получил значения ранга при использовании as.numeric. – Jazzmine

+0

DrDom, это неверно. Вам нужно преобразовать в символ, а затем в числовое. –

ответ

3

Прямое преобразование фактора числовых выходов уровней факторов, и ничего общего с самими значениями. Вам нужно преобразовать в символ первым:

results[,3] <- as.numeric(as.character(results$Successes)) 

Эквивалентного (см ?factor), вы можете преобразовать уровни в числовой и индекс по (неявное) числовое преобразованием фактора.

as.numeric(levels(results$Successes))[results$Successes] 
+0

В соответствии с параметрами, установленными OP, 'results $ Successes' не должен иметь фактор типа? Пожалуйста, вы можете объяснить, почему он преобразуется в коэффициент, когда 'as.is = T' и' stringsAsFactors = F'? –

+0

Мэтью, ваша первая команда выше дала следующее: Ошибка в результатах $ Успехи: $ operator недопустим для атомных векторов. – Jazzmine

+0

@Jazzmine вы уверены, что у вас нет матрицы? Что такое вывод 'class (results)'? –

0

Я нашел этот пакет наиболее полезным, без проблем, кроме предупреждения: gdata.

Этот URL содержит информацию о пакете: http://www.r-tutor.com/r-introduction/data-frame/data-import

я сделал преобразовать свою таблицу из формата XLSX в .xls, которые он, казалось, ожидать. Я не тестировал работу .xlsx.

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