如何将从 Eurostat 包导入的数据集从长形调整为宽形?

问题描述 投票:0回答:1

我有以下数据集,来自欧盟统计局包:

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")

我明白了,这没有意义......:

r tidyr reshape
1个回答
0
投票

最后,我做了@stefan 告诉我的事情,它起作用了 - OP

斯特凡说的话:

好吧,您的欧盟统计局数据还有 4 个变量“indic_bt”、“nace_r2”、“s_adj”和“unit”,您只需将其删除即可。因此,每个时间和国家/地区都有多个值,当您将形状调整为宽时,您最终会得到一个列表列。要解决此问题,请删除 select 语句或根据您的需要过滤数据,然后删除列以消除多个值。

© www.soinside.com 2019 - 2024. All rights reserved.