[R] Sub-setting a data frame by partial column names?

Jim Lemon jim at bitwrit.com.au
Thu Mar 4 08:34:30 CET 2010


On 03/04/2010 05:51 PM, Sarah Henderson wrote:
> Hi all --
>
> I think my Python brain is missing something crucial about string
> operations in R, but I cannot figure this out.
>
> I have a large data frame with several groups of similar variables.
> Similar variables are named according to their group, and I am now
> writing a function to check correlations within groups.  I want to
> subset the data frame by partial variable name, something along the
> lines of this:
>
> partialName<- "XXX"
> subsetData<- bigData[, partialName in colnames(bigData)]
>
> Where bigData might have 10 columns named "XXX1", "XXX2" etc.
>

Hi Sarah,

Try this:

column.names<-paste(sample(c("X","Y","Z"),100,TRUE),
  sample(c("X","Y","Z"),100,TRUE),
  sample(c("X","Y","Z"),100,TRUE),
  sample(0:9,100,TRUE),sep="")
column.names[grep("XXX",column.names,fixed=TRUE)]

Jim



More information about the R-help mailing list