[R] question regarding headers with space in the names

Ista Zahn izahn at psych.rochester.edu
Wed Aug 17 19:59:52 CEST 2011


Hi Jack,
You need to quote non-syntactic names.

A$`A 1`
A$'A 1'
A$"A 1"

should all work, with the first form being the recommended one.

Best,
Ista


On Wed, Aug 17, 2011 at 1:45 PM, Jack Luo <jluo.rhelp at gmail.com> wrote:
> Hi,
>
> After I read an xlsx file into the work space:
> A <- read.xlsx("B.xls", header = T, check.names = F)
> There are several headers with the names like:
> colnames(A) [1:4]
> # [1] "A 1"                        "B"
>  [3] "C 2"                          "D"
> I can get the content of column 2 and column 4 easily by
> A$B or A$D
>
> However, I can not type something like
> A$A 1 (cause there is a space in between)
>
> Obviously, you can get around this by using something like
> A[,colnames(A) == "A 1"]
> The other way to get around is to read it by using check.names = T
> A <- read.xlsx("B.xls", header = T, check.names = T)
> and type something like
> A$A.1
>
> But I am wondering if I stick using check.names = F, if there is anything
> that is as easy as
> A$A 1
> that works.
>
> Thanks,
>
> -Jack
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>



-- 
Ista Zahn
Graduate student
University of Rochester
Department of Clinical and Social Psychology
http://yourpsyche.org



More information about the R-help mailing list