按年份数据集列表的国家/地区 - 如何按国家和年份合并年份不是变量

问题描述 投票:-3回答:3

我在一个数据集中按国家/地区(行)和年份列表(列标题)列出了GDP值。我正在尝试将它与另一个数据集结合起来,其中值代表GINI。当“年”不是变量时,如何按国家和年份合并这两个海量数据集? (我如何操纵每个数据集,以便将“年份”作为一列引入,并且每年都有重复的国家代表?

即从图像中的顶部数据帧到底部数据帧?

r excel
3个回答
0
投票

将顶部数据集从宽到长重塑,然后与其他数据集合并。有many,很多,用不同的方法在这个网站上重塑数据的例子。一个常见的是使用tidyr包,它有一个名为gather的功能,可以满足您的需要。

long_table <- tidyr::gather(wide_table, key = year, value = GDP, 1960:1962)

或者你数据集中去年的任何内容。如果您还没有tidyr,可以使用install.packages('tidyr')安装dput(..)软件包。

下次,请避免放置数据图片并提供可重复的数据,以便其他人更容易准确回答。你可以使用#sample data (added 'X' before numeric year columns as R doesn't allow column name to start with digit) df <- data.frame(Country_Name=c('Belgium','Benin'), X1960=c(123,234), X1961=c(567,890)) library(dplyr) library(tidyr) df_new <- df %>% gather(Year, GDP, -Country_Name) df_new$Year <- gsub('X','',df_new$Year ) df_new 这样做。


0
投票

希望这可以帮助!

  Country_Name Year GDP
1      Belgium 1960 123
2        Benin 1960 234
3      Belgium 1961 567
4        Benin 1961 890

输出是:

dput(df)

(PS:正如其他人已经建议的那样,你应该总是使用Power Query分享样本数据)


0
投票

使用Excel中的数据,如果您使用的是Excel 2010或更高版本,则可以使用Get & Transformenter image description here来取消忽略“年份”列。

这是代码,但您可以通过GUI完成此操作

enter image description here

这就是结果,虽然我不得不格式化GDP列,以获得科学和数字格式的组合,而我在比利时有一个错字1962

qazxswpoi

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