R version 4.0.2 (2020-06-22) -- "Taking Off Again" -- x86_64-pc-linux-gnu
> `levels<-`(factor(c("a", "b")), c("c", "d"))
[1] c d
Levels: c d
> args(`levels<-`)
function (x, value)
NULL
> `levels<-`(x = factor(c("a", "b")), value = c("c", "d"))
[1] c d
Levels: c d
目前为止一切顺利,然而:
> `levels<-`(value = c("c", "d"), x = factor(c("a", "b")))
[1] "c" "d"
attr(,"levels")
[1] a b
Levels: a b
我从一个本应该等价的调用中得到了不同的结果。发生了什么事情?
?levels
: "替换函数是原始的"。来自R手册中的参数匹配:"[原始函数]通常忽略标签并进行位置匹配"。 - Henrik