2016-02-21 2 views
-1

Сегодня я загружаю набор данных в формате csv с сайта Eurostat. Я загружаю этот набор данных в rstudio командой read.csv и путем подбора данных, которые мне нужны. Теперь я в ситуации, когда у меня есть 12 наблюдений с 9 переменными. Одна из переменных - это значение, которое меня интересует, но проблема в значении кодируется как факторная переменная (с 754 уровнями).Нужно преобразовать переменную фактора в числовое, но немного сложнее

Его можно легко преодолеть с помощью команды as.numeric, но проблема в том, что цифры находятся в формате, таком как «48,478», поэтому Rstudio не видит ни одного номера (просто мое предположение), и если я использую его как. числовая команда Я не получаю 48478, но некоторое другое число, может быть, означает или нет, но определенно не 48478 как число. Через несколько минут я понимаю, что проблема, вероятно, связана с «,» и начинает искать решение, как удалить его.

Одно из решений, которое я нашел, - это использование команды edit и ее удаление вручную, но я планирую использовать больше подмножеств из исходного набора данных, и я надеюсь, что нет необходимости каждый раз, когда я буду использовать новый набор данных для использования команды редактирования и вручную стереть символ, который заставляет меня сходить с ума.

+0

Может быть, запятая в этих европейских данных означает десятичную точку? – Rick

ответ

0

Вы можете прочитать данные, а затем заменить "" до преобразования строки в числовой:

  1. Читайте набор данных с stringsAsFactors=FALSE:

    raw <- read.csv("a.csv",stringsAsFactors=FALSE)

  2. Converte строка в числовое значение (такая же логика, как и вы в редакторе):

    raw$number <- as.numeric(gsub(",","",raw$numberAsString)) # converte the numberAsString to numeric after substituting ","

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