Почему следующие работы:передавая анонимную функцию в качестве аргумента
foo <- function(x) {x}
curve(foo)
# plots the identity function between 0 and 1
И это не делает:
curve(function(x) {x})
Ошибка в кривой (функция (х) {: 'выражение' не оценивается объектом длины «n»
И еще
# the anonymous function can be called
foo(1) #1
(function(x) x)(1) #1
all.equal(foo, function(x) {x})
# TRUE
Я пробовал различные комбинации «quote()» и «expression()» без каких-либо результатов.
from '? Curve': expr: имя функции или вызов или выражение, написанное как функция Икс. Так что 'curve ({x})' работает, например. Вам просто нужно удалить функцию (x) '. Вы также можете удалить скобки. – etienne
О, я прочитал справку, но это заставило меня попробовать «curve (x)» и «curve (quote (x))», которые оба не удалось ... –
, так как 'x' не является самой функцией, вам нужно скобки, но вы можете использовать 'curve (sin (x))' или 'curve ({sin (x)})' (чтобы прояснить мой комментарий об удалении скобок) – etienne