Опитвам се да отпечатам някои стойности (geom_point) и отгоре на това да начертая някаква функция (stat_function) с ggplot2
, но не мога да начертая функцията, защото има аргумент от тип list.
Искам да отпечатам функцията create.new.func(x,W)
, която получава два параметъра (x,W), където x е числова стойност, а W списък, съдържащ две матрици с различни размери. Опитах да използвам линията
stat_function(fun= create.new.func,aes(colour="sep1"),args = list(W=superW))
Въпреки това продължавам да получавам следната грешка:
Computation failed in `stat_function()`: non-conformable arguments##
Разбира се create.new.func(x,W=superW)
работи перфектно за всяко x. Всички кодови фрагменти, които съм виждал досега, изглежда използват само вектори за параметъра args, оттук и въпросът ми.
Пример:
W <- list(matrix(c(1, -1, -1, 1), nrow = 2), matrix(c(1, 2)))
func <- function(x, W){
sum(W[[2]] * (W[[1]] %*% c(1, x)))
}
ggplot() +
geom_point(aes(x = 0, y = 0)) +
theme_bw()+
stat_function(fun = func, args = list(W), aes(colour = "black")) +
scale_colour_manual("data", values = c("blue"))