Bert, On Mon, Aug 1, 2011 at 1:17 PM, Bert Gunter <gunter.ber...@gene.com> wrote: > Doesn't work -- you lose column names.
But I don't lose column names: > x <- data.frame(A=1:3, B=1:3, C=1:3, D=1:3, E=1:3) > x A B C D E 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 > newcol <- 4:6 > cbind(x[,1:2], newcol, x[,3:ncol(x)]) A B newcol C D E 1 1 1 4 1 1 1 2 2 2 5 2 2 2 3 3 3 6 3 3 3 It's even possible to change names in the cbind() statement: > cbind(x[,1:2], Y=newcol, x[,3:ncol(x)]) A B Y C D E 1 1 1 4 1 1 1 2 2 2 5 2 2 2 3 3 3 6 3 3 3 If for some reason it isn't working for you, you might try explicitly calling cbind.data.frame() instead of the default cbind(). > Try this instead: > > yourframe[,30:51] <- cbind( newcolumn,yourframe[,30:50]) > > Adjust column names after via: > > names(yourframe) [30:51] <- c(newcolname,names(yourframe[30:50]) This shouldn't be necessary, I think. What happens if you use my above example? Sarah > Cheers, > Bert > > On Mon, Aug 1, 2011 at 10:10 AM, Sarah Goslee <sarah.gos...@gmail.com> wrote: >> x <- cbind(x[,1:29], newcolumn, x[,30:ncol(x)]) >> >> On Mon, Aug 1, 2011 at 12:59 PM, Bansal, Vikas <vikas.ban...@kcl.ac.uk> >> wrote: >>> Dear all, >>> >>> I have a very simple question.I have data frame of 50 columns and i want to >>> insert a column in 30th position.But i do not want to delete that column.Is >>> it possible to include a column in between, so that new values are in 30th >>> column and 30 th column is now 31st and 31st is 32nd......so on and 50th >>> column is 51st..?I will be very thankful to you. >>> >>> >> > -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ 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.