在 R 中折叠命名行并将变量移动到列

P_Ciurc01

我正在使用 R 通过“tidycensus”提取人口普查数据,但它将同一地理的不同变量提取到行中,而不是使用单行地理和多个变量列。

我尝试了各种转置、收集和扩展功能,但无法将扩展值折叠成一行。我的代码如下所示:

Median_Inc<-get_acs(geography="County Subdivision",table=B06011,state="MA",county="Middlesex","Essex","Suffolk","Plymouth","Norfolk","Worcester")

生成一个表:

2500901260  Amesbury Town city, Essex County, Massachusetts B06011_001  37891
2500901260  Amesbury Town city, Essex County, Massachusetts B06011_002  37402
2500901260  Amesbury Town city, Essex County, Massachusetts B06011_003  47925
2500901260  Amesbury Town city, Essex County, Massachusetts B06011_004  NA
2500901260  Amesbury Town city, Essex County, Massachusetts B06011_005  27303

我期待这些结果,但我想要做的是生成一个表,其中所有值都有一行,其中列是变量名称,例如:

GEOID   NAME    B06011_001  B06011_002  B06011_003  B06011_004  B06011_005
2500901260  Amesbury Town city, Essex County, Massachusetts 37891   37402   47925   NA  27303
雷米·库劳

我没有改变get_acs功能,但只需很少的操作,你就可以拥有你想要的。

名为 tab 的原始数据:

         Num                 City        County          State        Code   value
1 2500901260   Amesbury Town city  Essex County  Massachusetts  B06011_001   37891
2 2500901260   Amesbury Town city  Essex County  Massachusetts  B06011_002   37402
3 2500901260   Amesbury Town city  Essex County  Massachusetts  B06011_003   47925
4 2500901260   Amesbury Town city  Essex County  Massachusetts  B06011_004      NA
5 2500901260   Amesbury Town city  Essex County  Massachusetts  B06011_005   27303

要具有列名称:

colnames(tab) <- c("Num", "City", "County", "State", "Code", "value")

操作后:

library(reshape2)
data_wide <- dcast(tab, Num + City + County + State ~ Code, value.var="value")

     Num                 City        County          State  B06011_001  B06011_002  B06011_003  B06011_004  B06011_005
1 2500901260   Amesbury Town city  Essex County  Massachusetts       37891       37402       47925          NA       27303

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章