我正在尝试使用欧统局的R包从欧统局下载数据。
可以通过指定其“"edat_lfse_33"”(本例中为:code_id)来下载数据集。
但是,当我试图运行下面的代码时,我的计算机崩溃/返回内存分配错误。
library(eurostat)
library(dplyr)
library(ggplot2)
library(stringr)
data=get_eurostat("edat_lfse_33")这将返回一个巨大的tibble,如下所示:
# A tibble: 2,914,673 x 8
unit sex isced11 duration age geo time values
<fct> <fct> <fct> <fct> <fct> <fct> <dbl> <dbl>
1 PC F ED0-2 TOTAL Y15-34 AT 2018 49.9
2 PC F ED0-2 TOTAL Y15-34 AT1 2018 48.4
(..)然后,一旦我尝试使用get_eurostat_geospatial加入以前的tibble对象,我的pc就会崩溃。
mapdata <- get_eurostat_geospatial(nuts_level = 2, resolution='60',
year=2016,
output_class = 'df') %>%
right_join(data)%>%
mutate(cat = cut_to_classes(values, n=2, decimals = 1))有人能帮我吗?
发布于 2020-03-01 16:39:21
当两个数据表都包含联接列上的重复项时,不能连接两个数据表。mapdata是可以的,因为它包含了正确格式的映射数据,但是在加入之前需要对数据表进行总结。
data2 <- data %>%
group_by(geo) %>%
summarise(Values=mean(values, na.rm=TRUE))
library(ggplot2)
data2 %>% right_join(mapdata, by="geo") %>%
#mutate(cat = cut_to_classes(Values, n=2, decimals = 1)) %>%
ggplot(aes(lat, long, group=group)) +
geom_polygon(aes(fill=Values))

https://stackoverflow.com/questions/60476493
复制相似问题