【问题标题】:R Dplyr group_by [duplicate]R Dplyr group_by [重复]
【发布时间】:2021-04-17 12:14:37
【问题描述】:

我有一个包含多个国家/地区信息的数据集。当我试图构建人口权重时,我想计算: 国家人口(数据集中包含的变量)/每个国家的样本量(每个国家不同)

对于一个特定的国家,我会首先创建一个子集(例如 italydata = subset(data, data$country == "Italy"),然后将 country_population 除以 nrow(italydata)。

我正在寻找一种方法来为数据集中的每个国家/地区进行此计算。我已经用 dplyr 包试过了,但我不确定要写什么而不是 nrow("x")。

weight_by_economy <- data %>%
                     group_by(country) %>%
                     summarize(weight = country_population/nrow(x))

感谢您的帮助!

【问题讨论】:

  • summarize 更改为mutate
  • summarize(weight = country_population/n())

标签: r dplyr group-by


【解决方案1】:

试试

weight_by_economy <- data %>%
                 group_by(country) %>%
                 summarize(weight = country_population/n())

如果这不起作用,请通过提供有代表性的数据对象来澄清问题。

【讨论】:

  • 非常感谢!工作得很好:)
  • @ella 如果某个答案解决了您的问题,请考虑通过答案左侧的灰色勾号来接受它。
猜你喜欢
  • 1970-01-01
  • 2016-12-03
  • 2015-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-02
  • 1970-01-01
相关资源
最近更新 更多