我有以下数据集,来自欧盟统计局包:
IPI <- get_eurostat("sts_inpr_m") %>%
select("geo", "time", "values") %>%
mutate(time=format(as.Date(time, "%Y-%m-%d"))) %>%
filter(geo %in% c("ES", "IT", "FR", "EU28", "EA19"))
structure(list(geo = c("EA19", "ES", "FR", "IT", "EA19", "ES"
), time = c("2022-12-01", "2022-12-01", "2022-12-01", "2022-12-01",
"2022-12-01", "2022-12-01"), values = c(68.3, 110.6, 71, 59.1,
-1.9, 16.5)), row.names = c(NA, -6L), class = c("tbl_df", "tbl",
"data.frame"))
我希望它更宽。到目前为止我已经尝试过:
IPI_wide <- pivot_wider(IPI, names_from = "geo", values_from="values")
我明白了,这没有意义......:
最后,我做了@stefan 告诉我的事情,它起作用了 - OP
斯特凡说的话:
好吧,您的欧盟统计局数据还有 4 个变量“indic_bt”、“nace_r2”、“s_adj”和“unit”,您只需将其删除即可。因此,每个时间和国家/地区都有多个值,当您将形状调整为宽时,您最终会得到一个列表列。要解决此问题,请删除 select 语句或根据您的需要过滤数据,然后删除列以消除多个值。