Я не делал R-кодирование годами.Я пенсионер и простой программист-любитель;поэтому, когда я пишу код, я полагаюсь на «грубую силу», старомодный процедурный код.
У меня есть небольшой объем кода, который работает для того, что я хочу.Однако, по сравнению с тем, что я вижу в наши дни, это неуклюже и безобразно.Я надеюсь, что кто-то будет достаточно любезен, чтобы предложить предложения по обновлению этого кода.
Я использую пакет nflscrapR для доступа к данным для личных, хобби целей (например, отслеживание того, какой QB борется за свою жизнь в эти дни?Как часто? И по сравнению с кем?).
В приведенном ниже примере кода используются данные идентификатора игры для доступа к сводным данным игры (но меня по-настоящему интересует информация об игре по игре).Я создаю имена переменных dataframe из идентификаторов игр, загружаю данные, сохраняю их в dataframe, затем записываю эти данные в файл .csv и, наконец, объединяю эти файлы в один недельный файл.(Я вручную устанавливаю переменную «k» один раз в неделю, меняю каталоги пару раз в коде, и мои имена файлов выглядят ужасно.) Меня больше всего интересует улучшенное создание и присвоение переменных и более экономное «зацикливание».
###### Weekly game summary script #######
library(nflscrapR)
k <- 3
setwd("./nflscrapeR/GameIDs/2018 Game IDs")
gameID.File <- read.csv(file = paste("2018 Week ", k, " GameIDs.csv", sep = ""))
gameID.list <- gameID.File$game_id
res <- paste0("ds", gameID.list, sep = "")
setwd(paste("./nflscrapeR/GameSummary/Week ", k, sep = ""))
for(i in 1:length(res)){
write.csv(assign(res[[i]],drive_summary(gameID.list[[i]])), file = paste(res[[i]], ".csv", sep = ""), row.names = FALSE)
}
file_names <- dir()
weeklysummary <- do.call(rbind,lapply(file_names,read.csv))
setwd("./nflscrapeR/GameSummary")
write.csv(weeklysummary, file = paste("week", k, "summaries_2018.csv", sep = ""), row.names = FALSE)