因此,我想将多个参数值传递给一个函数,然后获得n长度的输出向量,这样我就可以在R中绘制(x,f(x))。这是代码:
f <- function(lambda) {
sum((x-mu)/(1+lambda*(x-mu)))
}
lb <- (1-1/n)/(xmax - mu)
ub <- (1-1/n)/(xmin - mu)
lambda = seq(ub,lb,by=0.1)如果我尝试直接将lambda向量应用于函数:f(lambda),我只得到一个值。如果我尝试plot(lambda, f(lambda)),我得到一条错误消息:
Error in xy.coords(x, y, xlabel, ylabel, log) :
'x' and 'y' lengths differ如何传递n个参数并获得n维输出向量作为结果?提前感谢!
发布于 2021-09-23 20:08:19
我会努力猜测你想要实现什么。我希望我猜对了。
library(tidyverse)
plotLambda = function(xmin, xmax, n) tibble(
lambda = seq(xmin, xmax, length.out=n),
`f(lambda)` = mean(lambda)/(1+lambda*mean(lambda))
) %>% ggplot(aes(lambda, `f(lambda)`))+
geom_line()+
ggtitle(paste("Xmin:", xmin, "Xmax:", xmax, "n:", n))
plotLambda(0,1,1000)

plotLambda(0,5,1000)

https://stackoverflow.com/questions/69305031
复制相似问题