gpt4 book ai didi

r - 我如何在 R 中将列转置/切割成行

转载 作者:行者123 更新时间:2023-12-02 22:12:39 25 4
gpt4 key购买 nike

我正在处理一个国家级数据的大型数据集,该数据集采用国家/地区年格式,并以以下形式出现(为方便起见进行了删减):

Country     Variable of Interest  Year
Bolivia 5 1990
Bolivia 6 1991
Bolivia 7 1992
Cambodia 8 1990
Cambodia 9 1991
Cambodia 10 1992
Russia 11 1990
Russia 12 1991
Russia 13 1992

由于与同事合作,我如何将数据放入此表单?:

Country   1990    1991   1992
Bolivia 5 6 7
Cambodia 8 9 10
Russia 11 12 13

我正在使用 R 版本 2.15.2 并使用图书馆 WDI 向世界银行查询信息。我附上了目前适用于单个国家/地区的代码。当我尝试为所有国家/地区执行此操作时,我将粘贴代码。任何帮助将不胜感激。谢谢。

library(WDI)
x<-WDI(country="US",indicator="NY.GDP.MKTP.CD",start = 1980, end=2012)
a<-as.matrix(x$country)
b<-x$year
x<-as.data.frame(t(x))
colnames(x)<-b
x<-x[-1:-2,][-2,]
x<-x[,order(ncol(x):1]
a<-a[1,]
rownames(x)<-a
x

当我尝试更改为所有国家时的更改是将 WDI 中的参数“美国”更改为“所有”。

我感谢所有帮助!先感谢您!

最佳答案

使用reshape2包:

假设您的 data.framedf(我将第二列名称更改为 Interest):

require(reshape2)
# use dcast as:
dcast(df, Country ~ Year, value.var="Interest")


# Country 1990 1991 1992
# 1 Bolivia 5 6 7
# 2 Cambodia 8 9 10
# 3 Russia 11 12 13

关于r - 我如何在 R 中将列转置/切割成行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14991323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com