r - 曲线错误(): 'expr' did not evaluate to an object of length 'n'

标签 r function vector curve

我有一个函数,它的分子中有一个向量,分母中有一个向量。因此,每个分量都是向量的一个分量除以取决于分量总和的函数。我想绘制一条曲线,表示固定其他组件的第一个组件中的函数。为什么这段代码不起作用?

y <- vector(length=2)
y0 <- c(1,2)
f <- function(y) y/(1+sum(y))
g <- function(x) f(c(x,y0[2]))[1]
curve(g, 0, 2)

f 和 g 在数值上都按预期计算,但曲线函数给出了错误:
Error in curve(g, 0, 2) : 
  'expr' did not evaluate to an object of length 'n'

我尝试了 Vectorizing g 但没有成功。感谢任何帮助。

最佳答案

你可以试试:

h <- Vectorize(g); curve(h, 0, 2)

enter image description here

关于r - 曲线错误(): 'expr' did not evaluate to an object of length 'n' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28253327/

相关文章:

c++ - 我的 vector vector 有什么问题?

r - 重叠元素的数量

r - 嵌入新字体以在 ggplot2、R (mac) 中绘图

r - geom_bar 的 gganimate 问题?

r - 将 data.table 转换为 data.frame(即撤消 setDT)

python - 运行 Python 教程并停留在函数上

r - 用 dplyr 和 rle 总结连续失败

c++ - 函数必须只有一个参数

javascript - 如何添加以下代码中的数字?

c++ - 提升 asio 写/读 vector