【问题标题】:Count of crashes and injuries?撞车和受伤的数量?
【发布时间】:2020-03-15 18:01:33
【问题描述】:

我有一个来自 dot.gov 网站的数据集,作为我们学校项目的一部分,我必须对其进行分析。它包含很多信息,但我只关注碰撞和伤害。例如,如何计算 2007 年至 2014 年的撞车或受伤次数?

我必须每年对我的数据进行子集化还是有更有效的方法?谢谢!

以下是我的数据集示例:

【问题讨论】:

标签: r dataframe count sum rowsum


【解决方案1】:

如果没有可重复的数据集示例,我们可以在上面测试我们的代码,很难确定它是否可以正常工作,但是使用 dplyrlubridate 包,您可以尝试(假设您的数据集是叫df):

library(dplyr)
library(lubridate)
df %>% mutate(YEARTXT = ymd(YEARTXT)) %>%
  mutate(Year = year(YEARTXT)) %>%
  filter(Year %in% 2007:2014) %>%
  summarise(INJURED = sum(INJURED, na.rm = FALSE),
            CRASH = sum(CRASH == "Y"))

要获得每年的崩溃和受伤人数,您可以将group_by添加到以下序列中,例如:

df %>% mutate(YEARTXT = ymd(YEARTXT)) %>%
  mutate(Year = year(YEARTXT)) %>%
  group_by(Year) %>%
  filter(Year %in% 2007:2014) %>%
  summarise(INJURED = sum(INJURED, na.rm = FALSE),
            CRASH = sum(CRASH == "Y"))

如果这不起作用,请提供您的数据集的可重现示例:How to make a great R reproducible example

【讨论】:

  • 这成功了!我还有一个问题,如何使用与此类似的代码计算每年的总事故和伤害?谢谢!
  • 不客气;)。我编辑了我的答案,为您提供了一种每年获得计数的方法。让我知道它是否有效。
猜你喜欢
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 2020-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多