r - 在 For 循环 R 中将新列绑定到 DF
问题描述
我有一个循环,逐个遍历团队列表,并将阵容的输出写入.csv。所以我有 31 个单独的 .csv,由teamRename
1 列命名,这就是 .csv player_data
。我想将所有内容加入一个 DF 并将 1 个 DF 导出到 .csv。所以 31 列。此外,每个团队列/数据框中的行数可能不同。
这是到目前为止的脚本:
library(rvest)
library(dplyr)
# teams
c("Anaheim-Ducks","Arizona-Coyotes","Boston-Bruins","Buffalo-Sabres",
"Calgary-Flames","Carolina-Hurricanes","Chicago-Blackhawks","Colorado-Avalanche",
"Columbus-Blue-Jackets","Dallas-Stars","Detroit-Red-Wings","Edmonton-Oilers",
"Florida-Panthers","Los-Angeles-Kings","Minnesota-Wild","Montreal-Canadiens",
"Nashville-Predators","New-Jersey-Devils","New-York-Islanders","New-York-Rangers",
"Ottawa-Senators","Philadelphia-Flyers","Pittsburgh-Penguins","San-Jose-Sharks",
"St-Louis-Blues","Tampa-Bay-Lightning","Toronto-Maple-Leafs","Vancouver-Canucks",
"Vegas-Golden-Knights","Washington-Capitals","Winnipeg-Jets"
) ->
teams
for (team in teams){
tryCatch({
#null df
roster <- NULL
# Get Website
url <- read_html(paste0('https://www.dailyfaceoff.com/teams/', team,'/line-combinations/stats'))
# Players in lineup
player_data <- url %>%
html_nodes('.player-name') %>%
html_text()
# remove numbers and # from name
player_data <- sub("\\s+#.*", "", player_data)
# Rename Team
team_rename <- gsub("-", "_", team, fixed=TRUE)
teamRename <- gsub("-", " ", team, fixed=TRUE)
# Print Team
print(team_rename)
# create roster dataframe
roster <- data.frame(Player = player_data)
# Bind rosters to roster_df
setwd('//LVS_DB/Users/Mike/Desktop/DB_LVS_SHARE/dailyfaceoffroster')
write_delim(roster, paste0(teamRename,'.csv'), delim = ',')
}, error = function(e) {message(paste0(e, "\n"))})
}
解决方案
推荐阅读
- angular - 带有 GET 请求的空结果
- activemq-artemis - Artemis 2.6.0 三节点集群
- python - 在 python 中动画 3D 绘图时遇到问题
- python - 使用 python sklearn 预测测试值的问题
- java - 创建倒数计时器
- google-compute-engine - 订阅 GCE 自动缩放组中的实例列表更新
- html-framework-7 - Framework7:打开路由器选项卡时加载 Ajax 内容
- python - 如何让多个(python)进程监视一个文件夹中的项目但一次采取一个行动?
- ios - Angular Firebase IOS 不推送
- r - 多因素优化功能