You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pivot_wider转换宽表时行未合并的技术问题

问题:使用pivot_wider转换宽表时的行合并与列表值问题

场景与初始问题

我正在处理一个较大的DataFrame,尝试用以下代码通过pivot_wider转换为宽表:

imf_ifs_data=pivot_wider(imf_ifs_longer,names_from = indicatorcode, values_from = value) 

但执行后返回的DataFrame中包含列表类型的值。

修改后的代码及新问题

参考示例修改代码后:

imf_ifs_data=imf_ifs_longer %>%
  select(-c(indicatorname))%>%
  #group_by(countryname) %>%
  mutate(row = row_number()) %>%
  tidyr::pivot_wider(names_from = indicatorcode, values_from = value) %>%
  select(-row)

现在的问题是,转换后的DataFrame没有实现行合并。

输入数据样本

> dput(imf_ifs_longer[c(1:15),c(1:6)])
structure(list(name = c("Dominica", "Dominica", "Dominica", "Dominica", 
"Dominica", "Dominica", "Dominica", "Dominica", "Dominica", "Dominica", 
"Dominica", "Dominica", "Dominica", "Dominica", "Dominica"), 
    countrycode = c(321L, 321L, 321L, 321L, 321L, 321L, 321L, 
    321L, 321L, 321L, 321L, 321L, 321L, 321L, 321L), indicatorname = c("Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
    "Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index"
    ), indicatorcode = c("EREER_IX", "EREER_IX", "EREER_IX", 
    "EREER_IX", "EREER_IX", "EREER_IX", "EREER_IX", "EREER_IX", 
    "EREER_IX", "EREER_IX", "EREER_IX", "EREER_IX", "EREER_IX", 
    "EREER_IX", "EREER_IX"), date = c("X1977M11", "X1977M12", 
    "X1978M1", "X1978M2", "X1978M3", "X1978M4", "X1978M5", "X1978M6", 
    "X1978M7", "X1978M8", "X1978M9", "X1978M10", "X1978M11", 
    "X1978M12", "X1979M1"), value = c(NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, 98.5739799661449)), row.names = c(NA, 
-15L), class = c("tbl_df", "tbl", "data.frame"))

修改后pivot_wider返回的结果样本

structure(list(name = c("Dominica", "Dominica", "Dominica", "Dominica", 
"Dominica", "Dominica", "Dominica", "Dominica", "Dominica", "Dominica", 
"Costa Rica", "Costa Rica", "Costa Rica", "Costa Rica", "Costa Rica"
), indicatorname = c("Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index", 
"Exchange Rates, Real Effective Exchange Rate based on Consumer Price Index, Index"
), date = c("2023M5", "2023M6", "2023M7", "2023M8", "2023M9", 
"2023M10", "2023M11", "2023M12", "2024M1", "2024M2", "1977M11", 
"1977M12", "1978M1", "1978M2", "1978M3"), countryname = c("Dominica", 
"Dominica", "Dominica", "Dominica", "Dominica", "Dominica", "Dominica", 
"Dominica", "Dominica", "Dominica", "Costa Rica", "Costa Rica", 
"Costa Rica", "Costa Rica", "Costa Rica"), time = structure(c(19478, 
19509, 19539, 19570, 19601, 19631, 19662, 19692, 19723, 19754, 
2861, 2891, 2922, 2953, 2981), class = "Date"), EREER_IX = c(94.0485257761888, 
93.9416527401942, 92.2607108467543, 91.9934431700547, 93.5960429917284, 
93.7240955617686, 92.7756740426763, 92.088492678905, 91.9458324906238, 
NA, NA, NA, NA, NA, NA), ENDE_XDC_USD_RATE = c(NA_real_, NA_real_, 
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_)), row.names = c(NA, 
-15L), class = c("tbl_df", "tbl", "data.frame"))

内容的提问来源于stack exchange,提问作者JF96

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 16:15:53