【问题标题】:How do I calculate a new column using tidy verse and summarise?如何使用 tidyverse 和 summarise 计算新列?
【发布时间】:2019-04-12 16:39:06
【问题描述】:

我正在处理一个数据集,该数据集需要我按音高类型拆分数据。理想情况下,我试图找到每种投球类型的挥杆击球率(挥杆击球/投球总数)。

我用来分割音高类型的代码如下:

FFB16 <- Regseason2016 %>% 
  group_by(MLBID) %>% 
  filter(Pitch == "FF") %>% 
  summarise(avg16FFBeffectivesp = mean(effective_speed, na.rm = TRUE),
            avg16FFBspinrate = mean(release_spin_rate, na.rm = TRUE),
            avg16FFBpfx_x = mean(pfx_x, na.rm = TRUE),
            avg16FFBpfx_z = mean(pfx_z, na.rm = TRUE))  

这会吐出除了每个球的摆动打击率之外的所有需要 但是我将如何计算 Swingstrike 率?我知道 mutate 函数,但不确定如何正确使用它。

理想情况下,我需要一些东西来计算 IF description = "swinging_strike",然后计算每个 ID 的总数,然后将其除以每个 ID 的投球总数。

我的表中事件的描述(是否是 swinging_strike)格式如下:

**Description**
foul
swinging_strike
ball
called_strike
hit
swinging_strike

我希望我的结果如下所示

MLBID  avgeffectivesp avgspinrate avgpfx_x  avgpfx_z  SwStr
1111    88.84         2500        -4.03      2.01      .45

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    将此添加到您的摘要中:

    SwStr=sum(description=="swinging_strike", na.rm=TRUE)/n())
    

    【讨论】:

      猜你喜欢
      • 2017-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-06
      • 1970-01-01
      相关资源
      最近更新 更多