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
这是因为您同时使用了 dplyr
和 plyr
包。
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))
我是 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
这是因为您同时使用了 dplyr
和 plyr
包。
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))