In R, is it possible to assign names to components of a vector without first assigning that vector to a variable name?
The normal way is obviously:
z <- 1:3
names(z) <- c("a", "b", "c") #normal way
names(1:3) <- c("a", "b", "c") #throws an error
The second way throws "Error in names(1:3) <- c("a", "b", "c") :
target of assignment expands to non-language object"
According to the doc, the expression is evaluated as
z <- "names<-"(z,
"[<-"(names(z), 3, "c2"))’.
So no shock it doesn't work, I'm just wondering if there's a work around.
Ideally, it'd be nice to have something like:
names(z <- 1:3) <- c("a", "b", "c")
> z
a b c
1 2 3
Just seems like a waste of space to put that on two different lines.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…