Назначать имена векторным записям без присвоения вектору имени переменной?

Можно ли в 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 

Просто кажется пустой тратой места, чтобы поместить это в две разные строки.

22
задан Reinstate Monica - G. Simpson 2 August 2012 в 19:50
поделиться