2015-05-13 2 views
-1

У меня есть временной ряд с переменной DateTime и еще 4 переменными, которые измеряются с течением времени. Я пытаюсь создать функцию в R, которая получает набор данных (как data.table) и создает 4 графика, каждый график показывает одну из четырех переменных (ось y) против времени (ось x). я уже узнал, что я могу создать несколько участков с помощьюКак построить несколько переменных таблицы данных в R?

par(mfrow=c(4,1)) 

Но проблема в том, что я не знаю, как ссылаться на каждый из 4-х столбцов в функции «сюжета».

Если я один участок без функции, то она выглядит следующим образом:

plot(DT[,DateTime],DT[,VAR1],type="l",ylab="VAR1") 

Это именно та линия, которую я хочу для VAR1 ... var4 с помощью функции. Обратите внимание, что мне не нужен сюжет, который отображает все 4 переменных в одном сюжете, а не 4 графика, по одному для каждой переменной.

Спасибо!

ответ

1
lapply(c("VAR1", "VAR2", "VAR3", "VAR4"), function(x){ 
    plot(DT[,DateTime],DT[,x,with=F], tyle="l", ylab=x) 
}) 
+0

'lapply' полезен, если вы хотите получить возвращаемое значение. Если вы столкнулись с побочным эффектом построения графика, более подходит цикл 'for'. – Roland

+0

Кроме того, 'DT [[x]]' должен быть более эффективным, чем 'DT [, x, with = F]'. – Roland

Смежные вопросы