[R] change column names of several data frames

Wolfgang Huber huber at ebi.ac.uk
Mon Apr 21 14:31:20 CEST 2008


Hi Henrik,

afaIcs this should work:

for(v in sprintf("data.%d", 1:n)) {
  f = get(v)
  names(f) = whatever
  assign(v, f)
}

-- 
Best wishes
 Wolfgang

------------------------------------------------------------------
Wolfgang Huber  EBI/EMBL  Cambridge UK  http://www.ebi.ac.uk/huber



21/04/2008 13:10 Antonio, Fabio Di Narzo a écrit
> Henrik Parn <henrik.parn <at> bio.ntnu.no> writes:
> 
>> Dear all,
>>
>> I have several data frames for which I want to change the column names.
>>
>> Example data:
>> data.1 <- data.frame(x1 = rnorm(5))
>> data.2 <- data.frame(x1 = rnorm(5))
> 
> Use lists. I.e.:
> data <- list()
> data[[1]] <- data.frame(x1 = rnorm(5))
> data[[2]] <- data.frame(x1 = rnorm(5))
> 
>> .
>> .
>>
>> What I want to achieve:
>> names(data.1) <- "y1"
>> names(data.1) <- "y1"
>> .
>> .
>>
>> Is it possible to achieve this with a loop or any of the apply-functions?
>>
>> Some (out of several...) unsuccessful attempts using for-loops instead:
>> for(i in 1:2)
>> names(get(paste("data", i, sep = "."))) <- "y1"
>>
>> for(i in 1:2)
>> assign(paste("data", i, sep="."), names(get(paste("natal", i, sep =
>> "."))) <- "y1")
>>
>> Thanks in advance!
>>
>> / Henrik Pärn
>>
>> ______________________________________________
>> R-help <at> 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.
>>
>>
> 
> 
>



More information about the R-help mailing list