X[,names(X)[4]] works fine for me. I had never thought of doing this. Neat idea.
John Kane Kingston ON Canada > -----Original Message----- > From: [email protected] > Sent: Fri, 4 Oct 2013 12:06:50 -0400 > To: [email protected] > Subject: [R] quote a column of a dataframe by its name > > Dear All, > > I have a question, suppose X is a dataframe, with column names as > "x1", "x2", "x3", ..... And I would like to use the i-th column by > X[,'xi']. > But it seems the single quote and double quote are different. > So if I run X[, names(X)[i]], it has some error. > Please use the below example code > > X = matrix(rnorm(50),ncol = 5) > X = data.frame(X) > names(X)=c("x1","x2","x3","x4","x5") > > #pick the 4-th column > X[,'x4'] #working > X[,names(X)[4]] # not working , so how to modify this line? > > names(X)[4] # returns "x4" > sQuote(names(X)[4]) # returns "'x4'" > > > Best, > > ______________________________________________ > [email protected] 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. ____________________________________________________________ FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas on your desktop! ______________________________________________ [email protected] 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.

