David, Wacek: Just so everyone knows, I just looked and this is
explained quite clearly in the R Language Reference manual, very
similarly to what Wacek did below.
On Wed, Feb 25, 2009 at 3:42 AM, Wacek Kusnierczyk wrote:
David Winsemius wrote:
On Feb 24, 2009, at 11:36 PM, Fuchs Ira wrote:
I was wondering why the following doesn't work:
a=c(1,2)
names(a)=c("one","two")
a
one two
1 2
names(a[2])
[1] "two"
names(a[2])="too"
names(a)
[1] "one" "two"
a
one two
1 2
I must not be understanding some basic concept here.
Why doesn't the 2nd name change to "too"?
I cannot tell you why, perhaps you are not actually working with the
names of a, but I can show you that:
names(a)[2] <- "too"
a[2]
too
2
a
one too
1 2
And this is seen as well in the help page examples. The help page
also
says the following, which I cannot understand:
It is possible to update just part of the names attribute via the
general rules: see the examples. This works because the expression
there is evaluated as z <- "names<-"(z, "[<-"(names(z), 3, "c2")).
the following:
names(a[2]) = 'foo'
has (partially) a functional flavour, in that you assign to the names
of
a *copy* of a part of a, while
names(a)[2] = 'foo'
does not have the flavour, in that you assign to the names of a; it
seems, according to the man page you quote, to be equivalent to:
a = 'names<-'(a, '[<-.'(names(a), 2, 'foo'))
which proceeds as follows:
tmp1 = names(a)
# get a copy of the names of a, no effect on a
tmp2 = '[<-'(tmp1, 2, 'foo')
# get a copy of tmp1 with the second element replaced with 'foo'
# no effect on either a or tmp1
tmp3 = 'names<-'(a, tmp2)
# get a copy of a with its names replaced with tmp2
# no effect on either a, tmp1, or tmp2
a = tmp3
# backassign the result to a
vQ
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.