Я пытаюсь создать вектор, содержащий EFG% баскетболиста для диапазона сезонов, т.е. если игрок выстрелил 45%, а затем 50% в течение двух сезонов, вектор будет выглядеть так (.45, .50),Я использую цикл for, чтобы перебрать введенный пользователем диапазон сезонов.Я собираю фрейм данных всех игроков за сезон, а затем пытаюсь поместить этот фрейм данных только в ряд игроков, о которых я хочу знать.Однако при этом я получаю фрейм данных нулевой строки вместо одной строки.При выполнении той же операции за пределами цикла for она работает отлично.Мой код функции ниже.
efgVectorFunction <- function(playerName, firstSeason, lastSeason) {
require(ballr)
emptyVector <- numeric(0)
for(i in firstSeason:lastSeason) {
seasonStats <- NBAPerGameStatistics(season = i)
playerSeasonStats <- subset(seasonStats, seasonStats$player == "playerName")
seasonEFG <- as.numeric(playerSeasonStats[ ,-c(1:17, 19:31)])
efgVector <- c(emptyVector, seasonEFG)
}
return(efgVector)
}
Проблема в том, что этот код возвращает [NA], поскольку подмножество playerSeasonStats заканчивается нулевыми строками.Вне цикла for этот код работает нормально:
test <- NBAPerGameStatistics(season = 2018)
testSingle <- subset(test, test$player == "Russell Westbrook")
Любые идеи о том, как это исправить, будут высоко оценены.