использовать несколько вариантов для нескольких участков - PullRequest
0 голосов
/ 11 июня 2018

Я бы хотел построить два (или более) графика с одинаковыми параметрами заговора.Код будет выглядеть так:

plot(data1, type='l', lwd=2, col=c(1,1,2,1,3,1), pch=19)
plot(data2, type='b', lwd=2, col=c(1,1,2,1,3,1), pch=19)

Было бы неплохо, если бы я мог сохранить некоторые параметры в переменных.Код будет выглядеть так:

my_opt <- list(lwd=2, col=c(1,1,2,1,3,1), pch=19)
plot(data1, type='l', my_opt)   ## it does not work
plot(data2, type='b', my_opt)

Есть ли способ заставить его работать?

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Я полагаю, что вы ищете do.call, с do.call вы можете сделать много вещей, одна из которых - передать аргументы в виде списка.

data1 <- data.frame(x = 1:10, y = (1:10)**2)
data2  <- data.frame(x = seq(1,10,2), y = 1:5)

my_opt <- list(lwd=2, col=c(1,1,2,1,3,1), pch=19)
do.call(plot, c(data1, type ="l", my_opt) )  
do.call(plot, c(data2, type ="b", my_opt) )  

enter image description here

0 голосов
/ 11 июня 2018

Вместо этого вы можете написать небольшую функцию-обертку

myplot <- function(mydata, ...){
 plot(mydata, lwd = 2, col = c(1,1,2,1,3,1), pch = 19, ...)
}

myplot(data1, type = "l")
myplot(data2, type = "b")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...