Почему мой граф qqnorm не может работать как часть функции или в скобках? - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь указать R запускать несколько строк одновременно, используя "{}" скобки. Я сделал это с успехом раньше. Я пытаюсь создать несколько графиков одновременно, определив несколько графиков в одной функции.

например:

qqnorm(residuals(LM_auto), col="black", fg="blue", pch= 21, bg=col_1, alpha = .7, sub = shapiro_output, xlab = "Shapiro Results Below:")+qqline(residuals(LM_auto))
plot(density(residuals(LM_auto)), col="black", fg="blue", bg=col_1) + polygon(density(residuals(LM_auto)), col=col_1)+
plot(residuals(LM_auto)~fitted(LM_auto), col="black", fg="blue", pch= 21, bg=col_1, alpha = .7, main="Summary Output-------------->")+
abline(h = c(100, 10, 2, 0, -2, -10, -100), col = c("yellow", "orange", "blue", "black", "blue", "orange", "yellow"), lty = c(5,4,2,1,2,4,5))+
plot(residuals(LM_auto)~xparameter, xlab=X_variable_title, col=col_1, fg="blue", pch= 21, bg=col_1, alpha = .7, main=summary_output, cex.main=.6)+
abline(h = c(100, 10, 2, 0, -2, -10, -100), col = c("yellow", "orange", "blue", "black", "blue", "orange", "yellow"), lty = c(5,4,2,1,2,4,5))'

Все эти строки работают, даже когда выделены и работают как блок. Однако если я попытаюсь поместить их в квадратные скобки или определить блок как функцию, они не запустятся (кроме генерации qqplot), и R вернет набор ошибок.

{
qqnorm(residuals(LM_auto), col="black", fg="blue", pch= 21, bg=col_1, alpha = .7, sub = shapiro_output, xlab = "Shapiro Results Below:")+qqline(residuals(LM_auto))
plot(density(residuals(LM_auto)), col="black", fg="blue", bg=col_1) + polygon(density(residuals(LM_auto)), col=col_1)+
plot(residuals(LM_auto)~fitted(LM_auto), col="black", fg="blue", pch= 21, bg=col_1, alpha = .7, main="Summary Output-------------->")+
abline(h = c(100, 10, 2, 0, -2, -10, -100), col = c("yellow", "orange", "blue", "black", "blue", "orange", "yellow"), lty = c(5,4,2,1,2,4,5))+
plot(residuals(LM_auto)~xparameter, xlab=X_variable_title, col=col_1, fg="blue", pch= 21, bg=col_1, alpha = .7, main=summary_output, cex.main=.6)+
abline(h = c(100, 10, 2, 0, -2, -10, -100), col = c("yellow", "orange", "blue", "black", "blue", "orange", "yellow"), lty = c(5,4,2,1,2,4,5))
}

ошибка:

Error in qqnorm(residuals(LM_auto), col = "black", fg = "blue", pch = as.numeric(21),  : 
non-numeric argument to binary operator

In addition: Warning messages:

1: In plot.window(...) : "alpha" is not a graphical parameter

2: In plot.xy(xy, type, ...) : "alpha" is not a graphical parameter

3: In axis(side = side, at = at, labels = labels, ...) : "alpha" is not a graphical parameter

4: In axis(side = side, at = at, labels = labels, ...) : "alpha" is not a graphical parameter

5: In box(...) : "alpha" is not a graphical parameter

6: In title(...) : "alpha" is not a graphical parameter'

Кажется, это ошибка в функции qqnorm, так как я могу запускать свой код в скобках, пока эта строка удалена.

Почему 21 не распознается как числовой? Или это действительно проблема? Я пробовал это с:

pch=as.numeric(21)

Но это все равно не работает.

Почему R не может правильно прочитать все это вместе как функцию, когда он может сделать это как выделенный блок?

Любая помощь будет высоко ценится, -Спасибо.

1 Ответ

0 голосов
/ 20 марта 2019

благодаря @MrFlick теперь оно работает.Как он объяснил:

Не должно быть плюсов (+) в конце ваших строк.qqnorm обычно использует> базовую графику (как, например, plot () и axis () и т. д. Вы не используете + с base> graphics, это только для графиков ggplot. Это сообщение об ошибке не относится к параметру pch>, этопросто здесь она обрезает саму строку. Она примерно равна +> между двумя вызовами qqnorm ().

Я удалил (+) s, и пока есть некоторые ошибки с альфа-значениямитеперь он работает как блок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...