如何合并来自两个不同大小的小标题的信息?
how to combine info from two different sized tibbles?
R 新手,刚刚学习。
我有两个 tibbles,一个是 statecodes,有 67 行,包含从人口普查局 (CB) 州代码到州 name/abbrev 的映射,另一个是 shapedata,3233 行,包含有关大小的信息美国每个县的州代码与第一个标题中的相同。我想在第二个标题中添加名称和缩写。
> head(statecodes)
# A tibble: 6 × 3
Name Abbrev Code
<chr> <chr> <chr>
1 Alabama AL 01
2 Alaska AK 02
3 Arizona AZ 04
4 Arkansas AR 05
5 California CA 06
6 Colorado CO 08
> head(shapedata)
# A tibble: 6 × 9
STATEFP COUNTYFP COUNTYNS AFFGEOID GEOID NAME LSAD ALAND AWATER
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 39 071 01074048 0500000US39071 39071 Highland 06 1432479992 12194983
2 06 003 01675840 0500000US06003 06003 Alpine 06 1912292630 12557304
3 12 033 00295737 0500000US12033 12033 Escambia 06 1701544502 563927612
4 17 101 00424252 0500000US17101 17101 Lawrence 06 963936864 5077783
5 28 153 00695797 0500000US28153 28153 Wayne 06 2099745573 7255476
6 28 141 00695791 0500000US28141 28141 Tishomingo 06 1098938845 52360190
> nrow(statecodes)
[1] 67
> nrow(shapedata)
[1] 3233
我不能使用 mutate,因为 input/output 的大小不同。我看过 purrr,但没有看到明显的使用方法。我正在尝试做这样的事情。
shapedata <- shapedata %>% mutate(statename = statecodes[statecodes$Code == STATEFP,]$Name)
其中 STATEFP 与“状态代码”中的状态代码相同
我可以写一个for循环,我只是想知道是否有更多的R-like方法。
TIA
我猜你正在寻找加入。
shapedata %>%
left_join(statecodes,
by = c("STATEFP" = "Code"))
R 新手,刚刚学习。
我有两个 tibbles,一个是 statecodes,有 67 行,包含从人口普查局 (CB) 州代码到州 name/abbrev 的映射,另一个是 shapedata,3233 行,包含有关大小的信息美国每个县的州代码与第一个标题中的相同。我想在第二个标题中添加名称和缩写。
> head(statecodes)
# A tibble: 6 × 3
Name Abbrev Code
<chr> <chr> <chr>
1 Alabama AL 01
2 Alaska AK 02
3 Arizona AZ 04
4 Arkansas AR 05
5 California CA 06
6 Colorado CO 08
> head(shapedata)
# A tibble: 6 × 9
STATEFP COUNTYFP COUNTYNS AFFGEOID GEOID NAME LSAD ALAND AWATER
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 39 071 01074048 0500000US39071 39071 Highland 06 1432479992 12194983
2 06 003 01675840 0500000US06003 06003 Alpine 06 1912292630 12557304
3 12 033 00295737 0500000US12033 12033 Escambia 06 1701544502 563927612
4 17 101 00424252 0500000US17101 17101 Lawrence 06 963936864 5077783
5 28 153 00695797 0500000US28153 28153 Wayne 06 2099745573 7255476
6 28 141 00695791 0500000US28141 28141 Tishomingo 06 1098938845 52360190
> nrow(statecodes)
[1] 67
> nrow(shapedata)
[1] 3233
我不能使用 mutate,因为 input/output 的大小不同。我看过 purrr,但没有看到明显的使用方法。我正在尝试做这样的事情。
shapedata <- shapedata %>% mutate(statename = statecodes[statecodes$Code == STATEFP,]$Name)
其中 STATEFP 与“状态代码”中的状态代码相同
我可以写一个for循环,我只是想知道是否有更多的R-like方法。
TIA
我猜你正在寻找加入。
shapedata %>%
left_join(statecodes,
by = c("STATEFP" = "Code"))