Проблема чтения данных с помощью ipumsr с использованием PUMA - PullRequest
1 голос
/ 27 марта 2019

Я пытаюсь прочитать некоторые данные из ipums USA, и это работало раньше, но я внезапно получаю сообщение об ошибке "Ошибка в levels<- (*tmp*, значение = as.character (уровни)): уровень фактора[2] дублируется: «Ранее, когда я просто пытался отобразить данные PUMA, я также получал сообщение« Ошибка: «метки» должны быть уникальными »на другом компьютере».Ниже приведен код, который я использовал, но я использовал эти данные с PUMA, а раньше такого не было.Может кто-нибудь сказать мне, что это значит или что изменилось?

ddi <- read_ipums_ddi("usa_00021.xml")
data <- read_ipums_micro(ddi)
data[13] #13 is the IND column and this produces the error
data$IND #this does not produce an error

это получает "Ошибка в levels<- (*tmp*, значение = as.character (уровни)): фактор уровень [2] являетсяДублированная "ошибка на моем текущем компьютере

ddi <- read_ipums_ddi("usa_00021.xml")
data <- read_ipums_micro(ddi)
data[8] #this is the PUMA column

, появляется сообщение об ошибке:" метки "должны быть уникальными" на другом компьютере.Этот компьютер имеет ту же проблему, перечисленную выше, но также дает мне это.Это также компьютер, который я использовал без предыдущей проблемы

(Извините, если что-то неправильно сформировано - первый вопрос)

1 Ответ

0 голосов
/ 03 апреля 2019

Это связано с ошибкой в ​​форматировании печати, появившейся в последних версиях ipumsr и haven.

Он был исправлен как запрос на получение доступа в гавань , так что если выЧтобы установить пакеты C ++ из github, вы можете выполнить следующую команду:

# install.packages("devtools")
devtools::install_github("tidyverse/haven", pull = 425)

Если это не вариант, вы можете отключить режим печати, выполнив следующие действия:

options(haven.show_pillar_labels = FALSE)
options(ipumsr.show_pillar_labels = FALSE)

Редактировать:

Просто чтобы подтвердить - так работают опции на моем компьютере - мне любопытно, почему это не сработает на вашем.Если у вас есть время, вы можете увидеть, работает ли этот код для вас?

library(ipumsr)
x <- tibble::tibble(x = haven::labelled(c(1, 2, 3), c(x = 1, x = 2)))

x
#> Error in `levels<-`(`*tmp*`, value = as.character(levels)): factor level [2] is duplicated

options(haven.show_pillar_labels = FALSE)
options(ipumsr.show_pillar_labels = FALSE)

x
#> # A tibble: 3 x 1
#>           x
#>   <dbl+lbl>
#> 1         1
#> 2         2
#> 3         3

Создано в 2019-04-10 пакетом Представить (v0.2.1)

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