Можно ли в R присваивать имена компонентам вектора без предварительного присвоения этого вектора имени переменной? Нормальный способ, очевидно:
z <- 1:3
names(z) <- c("a", "b", "c") #normal way
names(1:3) <- c("a", "b", "c") #throws an error
Второй способ выдает "Ошибка в именах (1 :3 )< -c ("a", "b", "c"): цель назначения расширяется до не -языкового объекта"
Согласно документу, выражение оценивается как
z <- "names<-"(z,
"[<-"(names(z), 3, "c2"))’.
Так что никакого шока, это не работает, мне просто интересно, есть ли обходной путь.
В идеале было бы неплохо иметь что-то вроде:
names(z <- 1:3) <- c("a", "b", "c")
> z
a b c
1 2 3
Просто кажется пустой тратой места, чтобы поместить это в две разные строки.