Thanks all, I used Gavins approach - unlisting the titles and the replacing names, as my titles were stored as factors in the data frame as that was the way they were imported...
Tom > Subject: Re: [R] Change data frame column names > From: gavin.simp...@ucl.ac.uk > To: tomlipt...@hotmail.com > CC: r-help@r-project.org > Date: Wed, 15 Jul 2009 16:12:32 +0100 > > On Wed, 2009-07-15 at 14:35 +0000, Tom Liptrot wrote: > > > > > > > > Hi R helpers, > > > > I have a data frame and I want to change the column names to names I have > > held in another data frame, but I am having difficulty. All data framnes > > are large so i can't input manually. Below is what i have tried so far: > > > > df<-data.frame(a=1:5, b=2:6, d=3:7, e=4:8) > > coltitles<-data.frame(v1="col number one", v2="col number two", v3="col > > number three", v4="col number four") > > > > ##first attempt > > > > names(df)<-coltitles > > names(df) > > [1] "1" "1" "1" "1" ###not what i wanted as I want names(df) to return > > [1] "col number one" "col number two" "col number three" "col number four" > > > > > > > > ##second attempt > > > > coltitles<-as.vector(coltitles, mode="character") ##trying to convert to a > > character vector after looking at help > > is.vector(coltitles) > > [1] TRUE > > names(df)<-coltitles > > names(df) > > [1] "1" "1" "1" "1" ###again not what I wanted > > > > How can I convert the column names? > > This seems a bit of a strange way to go about things, but if needs must: > > > names(df) <- unlist(coltitles) > > df > col number one col number two col number three col number four > 1 1 2 3 4 > 2 2 3 4 5 > 3 3 4 5 6 > 4 4 5 6 7 > 5 5 6 7 8 > > names(df) > [1] "col number one" "col number two" "col number three" "col number four" > > If your data frame with the names in the one (and only) row (why store > this as a one row df and not a character vector??? [1]) then by > unlisting it we get a (or something that can be coerced to) a character > vector of the correct names. > > If coltitles contains more rows, then: > > names(df) <- unlist(coltitles[1,]) > > might be more appropriate. > > HTH > > G > > [1] Your df storage of names is soooo inefficient (for this task): > > object.size(names(df)) # after running the above code > 312 bytes > > object.size(coltitles) > 2728 bytes > > > > > > > Thanks in advance, > > > > Tom > > > > Beyond Hotmail - see what else you can do with Windows Live. Find out more. > > _________________________________________________________________ > > > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > 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. > -- > %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% > Dr. Gavin Simpson [t] +44 (0)20 7679 0522 > ECRC, UCL Geography, [f] +44 (0)20 7679 0565 > Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk > Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/ > UK. WC1E 6BT. [w] http://www.freshwaters.org.uk > %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% > _________________________________________________________________ [[elided Hotmail spam]] [[alternative HTML version deleted]] ______________________________________________ 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.