Вы можете использовать функцию «get», чтобы получить объект на основе символьной строки его имени, но в долгосрочной перспективе лучше хранить переменные в списке и просто получать к ним доступ таким образом, все становится намного проще Вы можете получить подмножества, вы можете использовать lapply или sapply для запуска одного и того же кода на каждом элементе. При сохранении или удалении вы можете просто работать со всем списком, а не пытаться запомнить каждый элемент. e.g.:
mylist <- list(a=rnorm(100), b=rnorm(100) )
names(mylist)
summary(mylist[[1]])
# or
summary(mylist[['a']])
# or
summary(mylist$a)
# or
d <- 'a'
summary(mylist[[d]])
# or
lapply( mylist, summary )
Если вы программно создаете модели для анализа с помощью lm (или других функций моделирования), то один из подходов состоит в том, чтобы просто установить подмножество ваших данных и использовать «.», Например ::
.
yvar <- 'Sepal.Width'
xvars <- c('Petal.Width','Sepal.Length')
fit <- lm( Sepal.Width ~ ., data=iris[, c(yvar,xvars)] )
Или вы можете построить формулу, используя "paste" или "sprintf", а затем использовать "as.formula", чтобы преобразовать ее в формулу, например ::
yvar <- 'Sepal.Width'
xvars <- c('Petal.Width','Sepal.Length')
my.formula <- paste( yvar, '~', paste( xvars, collapse=' + ' ) )
my.formula <- as.formula(my.formula)
fit <- lm( my.formula, data=iris )
Обратите внимание также на проблему множественных сравнений, если вы смотрите на различные модели, подходящие автоматически.