2017-01-08 5 views
-2

Я работаю над созданием функции, которая отображает линейные регрессии и остатки. Я создал тело функции, но я хотел бы добавить более подробную информацию к сюжету, который он создает, например метки заголовка и оси. В частности, я хочу, чтобы название графика было переменными, которые были введены в функцию, например: «y by x», где y и x - это имя, которое было введено в функцию. Я попытался использовать функции paste() и print(), чтобы выполнить это, но это не удалось. Кроме того, я только что использовал rnorm (10) для создания значений для x и y, но я все еще хочу, чтобы заголовок отражал все, что я ввел в функцию, поэтому заголовок должен быть «rnorm (10) by rnorm (10) ", но вместо этого получается print (y) по print (x)". Какие-либо предложения по правильному коду для этого?Как использовать функциональные переменные (x и y) в заголовке сюжета, который создает функция

reslines <- function(x,y) 
{ 
x <- x 
y <- y 
plot(y~x, pch=20, col=1, title=print(y) by print(x)) 
lm.xy <- lm(y~x) 
abline(lm.xy) 
segments(x0 = x, y0 = y, y1 = predict(lm.xy), col = 130) 
summary(lm.xy) 
} 

reslines(rnorm(10,rnorm(10)) 
+0

https://cran.r-project.org/doc/manuals/r-release/R-lang.html#Substitutions может быть полезным. – mt1022

ответ

2

Попробуйте это:

reslines <- function(x, y) { 
# x <- x 
# y <- y 
plot(y ~ x, pch = 20, col = 1, main = paste(c(substitute(y), "by", substitute(x)), collapse = " ")) 
lm.xy <- lm(y ~ x) 
abline(lm.xy) 
segments(x0 = x, y0 = y, y1 = predict(lm.xy), col = 130) 
summary(lm.xy) 
} 

reslines(rnorm(10), rnorm(10))