Я пытаюсь автоматизировать некоторые графики, не прибегая к традиционным циклам. Мне трудно понять, как передать элементы строки dataframe в качестве аргументов функции. Функция выглядит следующим образом:Использование строк данных в качестве аргументов функции
makeline <- function(df, var, date, ylab="",xlab="", title="", nbershade=TRUE) {
p <- ggplot(df, aes_string(x=date, y=var))
p <- p + geom_line()
# do some other magical things
}
Допустим, у меня есть dataframe с рядом следующим образом:
row1 <- c("corn","Price","Date")
Поскольку кукуруза является dataframe ggplot душил на ней как персонаж. Тогда я использовал кукурузу без кавычек и так как это dataframe с именами столбцов «Цена» и «Дата», я думал, что это будет работать:
mapply(makeline,row1[1],row1[2],row1[3])
Во всяком случае, я шарить пытается выяснить, эффективно использовать этот новая функция, не приводя к циклическому переходу по спискам. Любые указатели оценили.
Вы можете показать 'str (df)' или 'head (df)'? Я не могу понять, как «кукуруза» является фреймворком данных и частью строки ... – alexwhan
добавление 'df <- get (df)', как показано ниже, дает мне правильную информацию при подаче строки1 с кукурузой, ». Далее вы узнаете, как передать данные. – tjbrooks