On 15/12/2020 7:33 a.m., Daniel Lüdecke wrote:
Hello,
I'm not sure if the following is intended, or a bug, but "all.vars()"
returns different values, depending on whether "TRUE" or "T" is used inside
"poly()": >
m1 <- lm(Sepal.Length ~ poly(Sepal.Width, 2, raw = TRUE) + Petal.Length,
data = iris)
m2 <- lm(Sepal.Length ~ poly(Sepal.Width, 2, raw = T) + Petal.Length, data =
iris)
all.vars(formula(m1))
#> [1] "Sepal.Length" "Sepal.Width" "Petal.Length"
all.vars(formula(m2))
#> [1] "Sepal.Length" "Sepal.Width" "T" "Petal.Length"
I know that "T" is no reserved word, but rather a global variable.
Nonetheless, I just wanted to be clear if there is a bug, or everything
works as intended.
It looks as though it is working as documented. formula(m2) gives
Sepal.Length ~ poly(Sepal.Width, 2, raw = T) + Petal.Length
and all.vars says it returns "a character vector containing all the
names which occur in an expression or call." "T" is a name.
There are good reasons why "R CMD check" warns about using T when you
mean TRUE.
Duncan Murdoch
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel