> 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"
我不確定爲什麼這兩個不應該是等效的。由於...
,似乎=
版本被解釋爲名爲c
的參數。有什麼辦法可以禁用這種行爲嗎?我試過了,爲什麼=和< - 在()中不等價?
within(list(a="a",b="b"), `c`="c")
但是也失敗了。
出於同樣的原因,'system.time(X = RNORM(1e300))沒有按'沒有工作。 – 2013-05-13 18:43:38
如果'='是傳遞給函數的表達式中的頂層函數調用,那麼'='被理解爲參數賦值。與內部(list(a =「a」,b =「b」),{c =「c」})' – 2013-05-13 18:43:40
= =作爲一個賦值在函數內部很時髦,R會感到困惑無論它是一個賦值還是一個論點。 – 2013-05-13 18:46:46