curve() 在第一个示例中有效,但在第二个示例中无效,但它们看起来相同。为什么?
curve() works in the first example but not the second, but they look identical. Why?
我是 R 的新手,尝试做一些练习。我想知道为什么第一个代码可以正常工作而第二个代码却不能。当我尝试 运行 第二个代码时,它说他找不到函数 a
.
1.)
x = seq(from = - 9, to = 9, len = 100)
curve(dnorm(x,0,2),add = FALSE, from = -9, to = 9)
2.)
x = seq(from = - 9, to = 9, len = 100)
a = dnorm(x,0,2)
curve(a,add = FALSE, from = -9, to = 9)
curve
的使用总是百思不得其解。查看 ?curve
的第一个参数 expr
,以及 "Details" 部分。
事实上,您误解了第一个(有效)案例。
curve(dnorm(x, 0, 2), from = 9, to = 9)
不使用你给的x
:seq(-9, 9, length = 100)
,而是选择内部的采样点。请参阅 curve
的参数 n
。在这里,您传递的是 curve
形式 参数 x
的函数,而不是实值向量,如第二个(失败)中的 a
案例.
不信我们把线显改为点显:
curve(dnorm(x, 0, 2), n = 10, from = -9, to = 9, type = "p")
看到了吗?图上只有10个点,即使你预设了x <- seq(-9, 9, len = 100)
.
另一个补充示例是使用 xname
进行调整。让我们使用另一个变量,比如 foo
.
curve(dnorm(foo, 0, 2), from = -9, to = 9, xname = "foo")
此 R 会话中没有变量 foo
,但上面的代码有效。因为 xname
告诉 curve
foo
是一个形式变量。
我是 R 的新手,尝试做一些练习。我想知道为什么第一个代码可以正常工作而第二个代码却不能。当我尝试 运行 第二个代码时,它说他找不到函数 a
.
1.)
x = seq(from = - 9, to = 9, len = 100)
curve(dnorm(x,0,2),add = FALSE, from = -9, to = 9)
2.)
x = seq(from = - 9, to = 9, len = 100)
a = dnorm(x,0,2)
curve(a,add = FALSE, from = -9, to = 9)
curve
的使用总是百思不得其解。查看 ?curve
的第一个参数 expr
,以及 "Details" 部分。
事实上,您误解了第一个(有效)案例。
curve(dnorm(x, 0, 2), from = 9, to = 9)
不使用你给的x
:seq(-9, 9, length = 100)
,而是选择内部的采样点。请参阅 curve
的参数 n
。在这里,您传递的是 curve
形式 参数 x
的函数,而不是实值向量,如第二个(失败)中的 a
案例.
不信我们把线显改为点显:
curve(dnorm(x, 0, 2), n = 10, from = -9, to = 9, type = "p")
看到了吗?图上只有10个点,即使你预设了x <- seq(-9, 9, len = 100)
.
另一个补充示例是使用 xname
进行调整。让我们使用另一个变量,比如 foo
.
curve(dnorm(foo, 0, 2), from = -9, to = 9, xname = "foo")
此 R 会话中没有变量 foo
,但上面的代码有效。因为 xname
告诉 curve
foo
是一个形式变量。