[R] Defining partial list of variables

Heinz Tuechler tuech|er @end|ng |rom gmx@@t
Tue Jan 5 09:09:27 CET 2021


see below

Steven Yen wrote/hat geschrieben on/am 05.01.2021 08:14:
> I constantly define variable lists from a data frame (e.g., to define a
> regression equation). Line 3 below does just that. Placing each variable
> name in quotation marks is too much work especially for a long list so I
> do that with line 4. Is there an easier way to accomplish this----to
> define a list of variable names containing "a","c","e"? Thank you!
>
>> data<-as.data.frame(matrix(1:30,nrow=6))
>> colnames(data)<-c("a","b","c","d","e"); data
>
>   a  b  c  d  e
> 1 1  7 13 19 25
> 2 2  8 14 20 26
> 3 3  9 15 21 27
> 4 4 10 16 22 28
> 5 5 11 17 23 29
> 6 6 12 18 24 30
>> x1<-c("a","c","e"); x1 # line 3
> [1] "a" "c" "e"
>> x2<-colnames(subset(data,select=c(a,c,e))); x2 # line 4
>
> [1] "a" "c" "e"
>
What about:
x3 <- names(data)[c(1,3,5)]
x3
[1] "a" "c" "e"

If I have to compile longer vectors of variable names I do it as follows:
First I use:
dput(names(data))
resulting in a vector of names.
c("a", "b", "c", "d", "e")
Then I edit the output by hand, e.g.
x4 <- c("a", "b", "c", "d", "e")
x4 <- c("a", "c", "e")
This is especially useful with long names, where I could easily make
typing errors.

regards,
Heinz



More information about the R-help mailing list