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,
Sorry, this sample code seems to be OK. I will look into my original problem and update it soon. Best wishes, On Fri, Oct 4, 2013 at 12:06 PM, Jie <jimmycloud at gmail.com> wrote:> 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,
Hello, I had no problems, and it shouldn't. What exactly do you mean by "not working"? Hope this helps, Rui Barradas Em 04-10-2013 17:06, Jie escreveu:> 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, > > ______________________________________________ > 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. >
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: jimmycloud at gmail.com > Sent: Fri, 4 Oct 2013 12:06:50 -0400 > To: r-help at r-project.org > 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, > > ______________________________________________ > 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.____________________________________________________________ FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas on your desktop!
Apparently Analagous Threads
- how to add a row vector in a dataframe
- Tabulating Sparse Contingency Table
- lm with a single X and step with several Xi-s, beta coef. quite different:
- select and do some calculations/manipulations on certain rows based on conditions in R
- how to create a substraction matrix (subtract a row of every column from the same row in other columns)