【问题标题】:How do I merge dataframes contained in a meta dataframe?如何合并元数据框中包含的数据框?
【发布时间】:2021-08-13 13:00:57
【问题描述】:

我的 tibble 包含多个数据框,如下所示:

cntry df
south_africa 8 variables
angola 8 variables
ghana 8 variables

每个子数据框(即上面提到的变量之一)如下:

date growth external_financing
2020-01-01 -1 0
2020-02-01 -1 1
2020-03-01 -2 1

如何合并所有数据框以在与该分数相关的国家/地区有一列?我想要如下结果(显然,还需要一些旋转):

date country metric score
2020-01-01 south_africa growth 0
2020-02-01 south_africa growth 1
2020-03-01 south_africa growth 1
2020-01-01 south_africa external_financing 0
2020-02-01 south_africa external_financing 1
2020-03-01 south_africa external_financing 1

等等……所有数据都是这种长格式。

【问题讨论】:

  • 嗨,您是否尝试过 unnest() 您的包含多个数据帧的 tibble?为了进一步帮助您,我们可能需要更好地了解您的 tibble 的外观。也许使用dput(yourtibble) 并在您的问题中复制/粘贴输出。
  • 这能回答你的问题吗? unnest dataframe within dataframe R
  • 太好了,谢谢。取消嵌套效果很好。由于我正在运行一些其他功能,我在此过程的后期进行了取消嵌套,但这使它工作。

标签: r dataframe merge tibble


【解决方案1】:

您可以尝试使用unnest 和pivot_longer -

library(dplyr)
library(tidyr)

data %>%
  unnest(df) %>%
  pivot_longer(cols = -c(cntry, date), 
               names_to = 'metric', values_to = 'score')

【讨论】:

    猜你喜欢
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多