> within(list(a="a",b="b"), c="c")
Error in eval(expr, envir, enclos) : argument is missing, with no default
> within(list(a="a",b="b"), c<-"c")
$a
[1] "a"
$b
[1] "b"
$c
[1] "c"
Nie jestem pewien, dlaczego te dwie rzeczy nie powinny być równoważne. Wygląda na to, że wersja =
zostanie zinterpretowana jako argument o nazwie c
do wnętrza z powodu ...
. Czy istnieje sposób, aby wyłączyć to zachowanie? Spróbowałem,Dlaczego wartości = i <- nie są równoważne w ciągu()?
ale to też się nie udaje.
Z tego samego powodu, że 'system.time (x = rnorm (1e300))' nie robi nie działa. –
Jeśli '=' jest najwyższym wywołaniem funkcji w wyrażeniu przekazanym do funkcji, wówczas '=' jest rozumiane jako przypisanie argumentów. Porównaj z 'wewnątrz (lista (a =" a ", b =" b "), {c =" c "})' –
Znak = oznacza, że przypisanie jest funky wewnątrz funkcji, R się mylić, czy jest to zadanie lub argument. –