Передача строки в виде символьного вектора, когда функция (ggplot
здесь) хочет, чтобы data.frame
не работала в цикле по той же причине, по которой она не будет работать вне цикла ... R не делаетНе знаю, чтобы получить объект с именем из глобальной среды.
Я бы предложил (аналогично комментарию @ patL) извлечь объект и запустить цикл:
for(i in files){
dat <- get(i) # new line
plt <- ggplot(dat, aes_string(x="Five", y = "Three")) +
...
}
Следует отметить, что ls()
вернет символьный вектор всех объектовв среде, независимо от их класса, поэтому, если у вас есть что-то еще, вы можете столкнуться с проблемами там.Судя по всему, вы можете использовать аргумент pattern
для ls()
, чтобы гарантировать, что вы по крайней мере вернете вектор имен объектов, соответствующих определенным шаблонам.