【问题标题】:Adding values from a dataframe to a different dataframe将数据帧中的值添加到不同的数据帧
【发布时间】:2020-04-13 15:40:38
【问题描述】:

我是 r 编程的菜鸟。 我在链接中有 2010 年人口普查数据- census data。 这是我的数据框- dataframe.

我想做的是将每个州的人口普查数据中的人口列“P001001”添加到数据框中。我无法弄清楚如何将数据框中的州缩写映射到人口普查数据中的全名,并将相应的人口添加到数据框中该州的每一行。数据适用于所有州。最简单的方法应该是什么?

提前致谢。

【问题讨论】:

  • 嗨!您能否提供您正在谈论的数据?使用dput R 函数将您的数据框转换为代码字符串。事实上,我们无法为您提供帮助。
  • @yass2,要向数据框中添加列,我们使用通用方法 data$column_name
  • @Irnv 我在帖子中提供了数据框和人口普查数据的屏幕截图。由于这是我的第一篇文章,我无法在帖子中添加图片

标签: r dataframe


【解决方案1】:

使用美国各州的内置数据集:state.abb 和 state.name 参见State name to abbreviation in R

这里有一段简单的代码,它将为您提供一个解决问题的 tidyverse 方法。

1) 将州缩写添加到人口普查表中

2) 用 df 按州缩写左加入人口普查

library(tibble)
library(dplyr)

census <-tibble(name = c("Colorado", "Alaska"),
             poo1oo1 = c(100000, 200000))

census <- 
  census %>% 
  mutate(state_abb = state.abb[match(name, state.name)])

df <- tibble(date = c("2011-01-01", "2011-02-01"),
             state = rep("CO", 2),
             avg = c(123, 1234))

df <- 
  df %>% 
  left_join(census, by = c("state" = "state_abb"))

【讨论】:

  • 完美。谢谢彼得!
猜你喜欢
  • 1970-01-01
  • 2017-04-06
  • 1970-01-01
  • 2021-07-25
  • 2016-04-25
  • 1970-01-01
  • 2020-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多