Код, который у меня есть (отсюда Продолжение ... Извлечение данных из API с использованием R ) дает очень сложный вывод.Я могу извлечь почти все, что мне нужно, за исключением data.frame, который вложен в список.
Ничего не делая, он дает мне такую ошибку:
Ошибка в .rowNamesDF<-
(x, значение= значение): дубликаты 'row.names' не допускаются. Дополнительно: Предупреждение: неуникальные значения при установке 'row.names': '1', '10', '11', '12', '13', «14», «15», «16», «17», «18», «19», «2», «20», «3», «4», «5», «6», «7 ',' 8 ',' 9 '
Если я попытаюсь сгладить или удалить список, он получит значение NULL.
В примере кода я добавил некоторые переменные, которые легкоget и number 42 - это «dokintressent», из которого мне нужно «intressent», список имен для каждого случая.Я должен запустить API из шведского законодательства полдюжины раз, но это хитрее.
Когда я удаляю 42, он отлично делает data.frame.
my_dfs1 <- lapply(1:207, function(i){
my_url <- paste0("http://data.riksdagen.se/dokumentlista/?sok=&doktyp=mot&rm=&from=2017-01-01&tom=2017-12-31&ts=&bet=&tempbet=&nr=&org=&iid=&webbtv=&talare=&exakt=&planering=&sort=rel&sortorder=desc&rapport=&utformat=json&a=s&p=", i)
r1 <- GET(my_url)
r2 <- rawToChar(r1$content)
r3 <- fromJSON(r2)
r4 <- r3$dokumentlista$dokument
return(r4)
})
df <- my_dfs1 %>% lapply(function(df_0){
df_0[c(12:14, 18, 42)]
}) %>% do.call(rbind, .)
РЕДАКТИРОВАТЬ: я заметил, что данные, которые я хочу, на самом деле несколько data.frames для каждого случая.Из "интереса" мне нужен "намн".По сути, мне нужна итоговая база данных, чтобы она выглядела так:
V12 V13 V14 V18 Namn
Motion 1 c(name1, name2)