#r #for-loop
#r #для цикла
Вопрос:
* Я прочитал связанные с этим вопросы здесь, но я изо всех сил пытаюсь адаптировать ответы к своему коду.
Я пытаюсь выполнить следующую команду:
clist = c("QB", "WR", "TE", "RB")
for (i in unique(data$clist)) {
data_i = subset(data, data$position == i)
}
чтобы создать подмножества моих данных для разных футбольных позиций (т.е. data_QB, data_WR, data_TE, data_RB).
Однако это не работает. Я понимаю, что это потому, что R не распознает, что я пытаюсь использовать «i» в качестве строковой переменной, но не знаю, как исправить мой код. Любые мысли были бы высоко оценены!
Ответ №1:
Мы можем использовать split
lst1 <- split(data, data$position)
names(lst1) <- paste0("data_", names(lst1))
list2env(lst1, .GlobalEnv)
Или, если мы хотим использовать for
цикл, используйте assign
for(val in clist) {
assign(paste0('data_', val), subset(data, position == val))
}