Как вызвать имя столбца с помощью цикла: - PullRequest
0 голосов
/ 12 сентября 2018

Я очень плохо знаком с R, и мне хотелось бы знать, как лучше всего вызывать другой столбец, используя цикл for.

Мой код выглядит так:

Variables <- c("Var1","Var2","Var3","Var4","Var5","Var6","Var7")
Years <- c(2015,2016,2017,2018)

for (Year in Years) {
    for (Var in Variables) {
        TT = auc(data[data$Def_Year==Year,]$Good_Bad,
                 data[data$Def_Year==Year,]$Var)
        print (TT)
    }
}

Я пытаюсь рассчитать AUC (площадь под кривой roc) для каждой переменной в каждом году, чтобы проверить стабильность работы модели кредитного скоринга. Дело в том, что R не понимает команду $Var. В Excel я иногда использую & для преодоления таких препятствий. Я хотел бы услышать ваши рекомендации.

1 Ответ

0 голосов
/ 12 сентября 2018

Привет, ты мог бы сделать что-то подобное. Смотрите мой пример кода ниже

df <- data.frame(v1 = c(1,2,3), v2 = c(4,5,6))
variables <- c("v1", "v2")

for(var in variables) {
   print(df[, var])
}
Output:
[1] 1 2 3
[1] 4 5 6

Я не решил ваш код напрямую, поскольку для SO не рекомендуется полностью решать задачу, а дать общее руководство по ее решению. Я бы посоветовал вам пройти через это: https://stats.idre.ucla.edu/r/modules/subsetting-data/, чтобы лучше понять подмножество в R. Также см. https://cran.r -project.org / doc / manual / R-lang.html # Indexing , чтобы понять индексацию в R. Сверху:

Форма, использующая $, применяется к рекурсивным объектам, таким как списки и паирлисты. Он допускает только буквенную строку символов или символ в качестве индекса. То есть индекс не вычисляется : для случаев, когда вам нужно вычислить выражение, чтобы найти индекс, используйте x [[expr]]. Применение $ к нерекурсивному объекту является ошибкой.

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