group_by 无法在 retrosheet 数据上正常工作

group_by doesn't work properly on retrosheet data

我是 R 的新手,正在处理 retrosheet 中的棒球数据。 我正在尝试从我的目录下载多个文件。比如这个ll对象包含两个TXT文件名“GL2001.TXT”和“GL2002.TXT”。这是脚本。这在我的控制台上有效。

    ll = list.files(pattern = "*.TXT")
ll

    mycols <- read_csv("game_log_header.csv") %>%
      names()


ll_data <- lapply(ll, read_delim,
                col_names = mycols,
                delim = ",",
                na = character())

ll_data_frame <- ldply (ll_data, data.frame)

但是 group_by 函数对这个数据框根本不起作用。每当我更改 group_by 参数时,R return 的结果相同。

ll_data_frame %>%
  group_by(DayOfWeek) %>%
  summarize(R = sum(HomeRunsScore))

ll_data_frame %>%
  group_by(VisitingTeam) %>%
  summarize(R = sum(HomeRunsScore))

这两行return相同的结果。

      R
1 23047

这段代码怎么行不通? 您有什么方法可以使用此代码或其他想法来修复它吗? 提前谢谢你。

这是我数据的一小部分。

ll_data_frame %>%
  select(Date, DayOfWeek, HomeTeam, VisitingTeam, 
         HomeRunsScore, VisitorRunsScored, HomeManagerName)


        Date DayOfWeek HomeTeam VisitingTeam HomeRunsScore VisitorRunsScored
1   20010401       Sun      TOR          TEX             8                 1
2   20010402       Mon      BAL          BOS             2                 1
3   20010402       Mon      CLE          CHA             4                 7
4   20010402       Mon      NYA          KCA             7                 3
5   20010402       Mon      SEA          OAK             5                 4
6   20010402       Mon      CHN          MON             4                 5
7   20010402       Mon      CIN          ATL             4                10
8   20010402       Mon      COL          SLN             8                 0
9   20010402       Mon      FLO          PHI             5                 6
10  20010402       Mon      LAN          MIL             1                 0
11  20010402       Mon      SFN          SDN             3                 2

这是因为您同时使用了 dplyrplyr 包。
summarize 函数被 plyr 包屏蔽 dplyr
试试这个:

ll_data_frame %>%
  group_by(DayOfWeek) %>%
  dplyr::summarize(R = sum(HomeRunsScore))

ll_data_frame %>%
  group_by(VisitingTeam) %>%
  dplyr::summarize(R = sum(HomeRunsScore))