colnames(e) <- paste0('pop',1:12) isn't a function and doesn't return anything.
> mylist <- list( + data.frame(a = runif(10), b = runif(10)), + data.frame(c = runif(10), d = runif(10)), + data.frame(e = runif(10), f = runif(10))) > mylist2 <- lapply(mylist, function(e){colnames(e) <- paste0('pop', 1:2); e}) > colnames(mylist2[[1]]) [1] "pop1" "pop2" Sarah On Mon, Mar 30, 2015 at 9:54 AM, Vikram Chhatre <crypticline...@gmail.com> wrote: >> summary(mygenfreqt) > Length Class Mode > dat1.str 59220 -none- numeric > dat2.str 59220 -none- numeric > dat3.str 59220 -none- numeric > >> head(mylist[[1]]) > 1 2 3 4 5 6 7 8 9 10 11 > 12 > L0001.1 0.60 0.500 0.325 0.675 0.600 0.500 0.500 0.375 0.550 0.475 0.350 > 0.275 > L0001.2 0.40 0.500 0.675 0.325 0.400 0.500 0.500 0.625 0.450 0.525 0.650 > 0.725 > > I want to change 1:12 to pop1:pop12 > > mylist<- lapply(mylist, function(e) colnames(e) <- paste0('pop',1:12)) > > What this is doing is replacing the data frames with just names > pop1:pop12. I just want to replace the column labels. > > Thanks for any suggestions. > -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.