R 如何在ggplot2中绘制具有求和的函数?
假设我有一个向量R 如何在ggplot2中绘制具有求和的函数?,r,function,ggplot2,R,Function,Ggplot2,假设我有一个向量x=1:5。假设我想画出公式 在这个例子中注意,k接受[0,5]中的所有值,而不仅仅是整数。 我将如何在ggplot2中执行此操作 以下是我的尝试: library(ggplot2) y <- c(1, 2, 3, 4, 5) f <- function(k, vector){ sum((vector-k)^2/5) } ggplot(data=data.frame(x=c(0, 5)), aes(x)) + stat_function(fun=f, geom='l
x=1:5
。假设我想画出公式
在这个例子中注意,k
接受[0,5]中的所有值,而不仅仅是整数。
我将如何在ggplot2
中执行此操作
以下是我的尝试:
library(ggplot2)
y <- c(1, 2, 3, 4, 5)
f <- function(k, vector){
sum((vector-k)^2/5)
}
ggplot(data=data.frame(x=c(0, 5)), aes(x)) +
stat_function(fun=f, geom='line', args(list(vector=y)))
Error in (function (k, vector) :
argument "vector" is missing, with no default
Error in exists(name, envir = env, mode = mode) :
argument "env" is missing, with no default
库(ggplot2)
有两件事。首先,需要为要绘制的变量对函数进行适当的矢量化<代码>求和
将折叠结果。最简单的修复方法是使用
f <- Vectorize(function(k, vector){
sum((vector-k)^2/5)
}, "k")
这会给你
ggplot(data=data.frame(x=c(0, 5)), aes(x)) +
stat_function(fun=f, geom='line', args=list(vector=y))