I think this is what you want:> df <- data.frame(x1=1:11,x2=2:12,x3=3:13,y=4:14)
> grep('^x',names(df))
[1] 1 2 3
The returned indexes refer to the column positions, so you could
do:>names(df)[grep('^x',names(df))]
[1] "x1" "x2" "x3"
or>df[,grep('^x',names(df))]
x1 x2 x3
1 1 2 3
2 2 3 4
3 3 4 5
4 4 5 6
5 5 6 7
6 6 7 8
7 7 8 9
8 8 9 10
9 9 10 11
10 10 11 12
11 11 12 13
HTH
Schalk Heunis
On Thu, Sep 17, 2009 at 5:03 AM, Peng Yu <pengyu.ut@gmail.com> wrote:
> Hi,
>
> data.frame(x1=1:11,x2=2:12,x3=3:13,y=4:14)
>
> I want to extract all the columns that with the name 'x?'. Is there
a
> general way to do this in R?
>
> Regards,
> Peng
>
> ______________________________________________
> 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.
>
[[alternative HTML version deleted]]