R: Как я могу вызвать столбец dataframe, используя псевдоним? - PullRequest
0 голосов
/ 16 января 2019

Я пишу функцию для получения ошибки теста из модели линейной регрессии.

Мой вход - это список, в котором есть каждая часть модели

model.1 <- list("medv","~.","Boston_Ready")
names(model.1) <- c("response", "input","dataset")

Моя функция вычисляетошибка набора проверки с этого входа

ValidationError <- function(model){
    df <- get(model$dataset)
    formula <- paste(model$response,model$input)
    response <- model$response       

    #validation set
    train <- sample(nrow(df), (nrow(df)/2))
    fit_train <- lm(formula,data=df,subset=train)
    Valid_MSE <- mean(df[-train,]$response - predict(fit_train, df[-train,]))^2
    print(Valid_MSE)    
}

Ошибка читает Error: attempt to apply non-function

Это потому, что определение Valid_MSE включает в себя df[-train,]$response

Я такжепробовал

df[-train,]$get(response)
df[-train,]$paste(response)

Как я могу вызвать определенные столбцы из кадра данных?Могу ли я сделать это, используя мой псевдоним списка «response»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...