У меня есть 6 графиков рассеяния, созданных с использованием функции «пар», и я хочу построить линию линейной регрессии для каждого графика рассеяния в верхней части каждого соответствующего графика рассеяния.
Я попытался написать свою собственную функциюи использование этой функции в качестве аргумента для upper.panel
Это код, который создает мои диаграммы рассеяния на верхней диагонали.Каждый цвет представляет различный класс цветка ириса.
pairs(iris_data_excel[1:4], lower.panel=NULL, col=c("red","blue","green")
[class_to_number])
График, созданный из приведенного выше кода
Это функция, которую я написал и пытался использовать в качестве аргумента для upper.panel
upper_panel_regression_line = function(x,y){
linear_regression = lm(x, y)
linear_regression_line = abline(linear_regression)
}
Здесь я ввожу функцию для аргумента "upper.panel"
pairs(iris_data_excel[1:4], lower.panel=NULL, upper.panel =
upper_panel_regression_line, col=c("red","blue","green")[class_to_number])
Это ошибка, которую я получаю
Error in lower.panel(...)
unused argument (col = c("red", "blue", "green")[class_to_number])
Пример, который можно использовать для воспроизведенияграфик с использованием встроенного набора данных радужной оболочки:
#Extracts the iris species column from the iris dataset
iris_class = iris$Species
#Change the class from characters to numerical values to be used for
#indexing
# #1 = Iris-setosa
# #2 = Iris-versicolor
# #3 = Iris-virginica
class_to_number = as.numeric(factor(iris_class))
#Scatter plot matrix
pairs(iris[1:4], lower.panel=NULL, col=c("red","blue","green")
[class_to_number])