On Mar 16, 2011, at 7:58 PM, jctoll wrote:
Hi,
I'm struggling to figure out the way to change the name of a column
from within a loop. The problem is I can't refer to the object by its
actual variable name, since that will change each time through the
loop. My xts object is A.
head(A)
A.Open A.High A.Low A.Close A.Volume A.Adjusted A.Adjusted.1
2007-01-03 34.99 35.48 34.05 34.30 2574600 34.30
11867800000
2007-01-04 34.30 34.60 33.46 34.41 2073700 34.41
11905860000
2007-01-05 34.30 34.40 34.00 34.09 2676600 34.09
11795140000
2007-01-08 33.98 34.08 33.68 33.97 1557200 33.97
11753620000
2007-01-09 34.08 34.32 33.63 34.01 1386200 34.01
11767460000
2007-01-10 34.04 34.04 33.37 33.70 2157400 33.70
11660200000
It's column names are:
colnames(A)
[1] "A.Open" "A.High" "A.Low" "A.Close"
"A.Volume" "A.Adjusted" "A.Adjusted.1"
I want to change the 7th column name:
colnames(A)[7]
[1] "A.Adjusted.1"
I need to do that through a reference to i:
i
[1] "A"
It's not pretty and there may be a more direct way:
> a
[,1] [,2]
[1,] 1e+20 1000
[2,] 1e+02 1000
> b <- "a"
> assign("tmp", eval(parse(text=b)))
> tmp
[,1] [,2]
[1,] 1e+20 1000
[2,] 1e+02 1000
> colnames(tmp) <- c("one","two")
> assign( b, tmp)
> a
one two
[1,] 1e+20 1000
[2,] 1e+02 1000
Trying to short circuit the process without an intermediate temporary
structure fails:
> colnames(eval(parse(text=b)) )<- c("two", "three")
Error in parse(`*tmp*`) : EOF whilst reading MBCS char at line 1
--
David
This works:
colnames(get(i))[7]
[1] "A.Adjusted.1"
And this is what I want to change the column name to:
paste(i, ".MarketCap", sep = "")
[1] "A.MarketCap"
But how do I make the assignment? This clearly doesn't work:
colnames(get(i))[7] <- paste(i, ".MarketCap", sep = "")
Error in colnames(get(i))[7] <- paste(i, ".MarketCap", sep = "") :
could not find function "get<-"
Nor does this (it creates a new object "A.Adjusted.1" with a value of
"A.MarketCap") :
assign(colnames(get(i))[7], paste(i, ".MarketCap", sep = ""))
How can I change the name of that column within my big loop? Any
ideas? Thanks!
Best regards,
James
______________________________________________
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.
David Winsemius, MD
West Hartford, CT
______________________________________________
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.