Я хотел бы оценить строку, например, x1
, где x1 <- "disp"
, в качестве базового значения, то есть disp
, когда x1
- индекс цикла.
Воспроизводимый пример,используя набор данных mtcars
в качестве примера ниже:
x1 <- "disp"
x2 <- "hp"
vars <- c("x1", "x2")
for (x in vars){
print(x)
}
Что дает мне
#> [1] "x1"
#> [1] "x2"
Желаемый результат:
То, что я пытаюсь получить, этоцикл, который выполняет эти команды:
print(x1)
print(x2)
, что приводит к:
#> [1] "disp"
#> [1] "hp"
Я понимаю, что самым простым решением было бы полностью обойти x1
и x2
:
vars <- c("disp", "hp")
for (x in vars){
print(x)
}
Но это менее полезно, так как будет очень полезно иметь x1
, x2
и т. Д. В моей (не упрощенной) проблеме.
Кроме того, если purrr
являетсялучший способ сделать что-то вроде этого, а не цикл, мне было бы очень интересно понять это лучше.
Если у кого-нибудь есть предложение относительно лучшего названия для вопроса, мне также будет очень интересно.
Более глубокий вопрос
Я упростил свой вопрос выше, надеясь, что этого будет достаточно, чтобы получить то, что мне нужно, ноt для контекста, я пытаюсь сделать что-то вроде этого:
df <- mtcars
x1 <- "disp"
x2 <- "hp"
vars <- c("x1", "x2")
for (x in vars){
lm(mpg ~ x, data = mtcars)
}
Создано в 2019-07-11 пакетом prex (v0.2.1)