Ошибка в model.frame.default (формула = SHOT_MADE_FLAG ~ ti (LOC_X) +: неверный тип (список) для переменной 'ti (LOC_X)' с использованием R gam - PullRequest
0 голосов
/ 24 марта 2020

У меня есть следующий фрейм данных:

PLAYER_ID,PLAYER_NAME,LOC_X,LOC_Y,SHOT_MADE_FLAG
1627759,Jaylen Brown,-20,19,0
1627759,Jaylen Brown,-29,168,1
1627759,Jaylen Brown,7,30,1
1627759,Jaylen Brown,9,6,0
1627759,Jaylen Brown,-176,186,0

И я пытаюсь использовать этот код на нем (это использует пакет mgcv, НЕ ТИС):

league_model_19 <- gam(SHOT_MADE_FLAG ~ ti(LOC_X) + 
                         ti(LOC_Y) + 
                         ti(LOC_X, LOC_Y),
                       data = shots)

Но когда я это делаю, я получаю:

Error in model.frame.default(formula = SHOT_MADE_FLAG ~ ti(LOC_X) +  : 
  invalid type (list) for variable 'ti(LOC_X)'

Я не очень опытен в R, что я могу сделать, чтобы решить эту проблему? Я попытался вставить:

ti(unlist(LOC_X))

, но это вызвало точно такую ​​же ошибку. Я мог бы действительно использовать некоторую помощь по этому вопросу.

Edit - добавлен вывод search (). Также добавлен полный код ниже:

 [1] ".GlobalEnv"        "package:dplyr"     "package:gam"      
 [4] "package:foreach"   "package:splines"   "package:mgcv"     
 [7] "package:nlme"      "tools:rstudio"     "package:stats"    
[10] "package:graphics"  "package:grDevices" "package:utils"    
[13] "package:datasets"  "package:methods"   "Autoloads"        
[16] "package:base"  

Код:

library('mgcv')
library('gam')
library('dplyr')

shot_df <- read.csv("Jaylen Brown holder_shot_chart.csv")
shots <- subset(pass_df, !(is.na(LOC_X)))

league_model_19 <- gam(SHOT_MADE_FLAG ~ ti(LOC_X) + 
                         ti(LOC_Y) + 
                         ti(LOC_X, LOC_Y),
                       data = shots)
...