曲线适用于某些对象但不适用于其他对象

curve works for some object but not other

我很困惑为什么 #1 可以工作而 #2 不能?

x=rnorm(100);curve(dnorm(x))

y=rnorm(100);curve(dnorm(y))
Error in curve(dnorm(y)) : 'expr' must be a function, or a call or an expression containing 'x'

因为 curve() 有点神奇,默认情况下需要表达式 写成 x 的函数(字面意思):来自 ?curve.

expr: The name of a function, or a call or an expression written as a function of ‘x’ which will evaluate to an object of the same length as ‘x’.

你可以使用

curve(dnorm(y),xname="y")

我必须警告您,您在代码中通过 rnorm() 定义的 xy 值将被完全忽略。 (您可以编辑您的问题以更好地解释您想要做什么...)