# Example 8.19: Referencing lists of variables

[This article was first published on

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

In section 1.11.4 (p. 50), we discuss referring to lists of variables in a data set. In SAS, this can be done for variable stored in adjacent columns with the “var_x — var_y” syntax and for variables with sequentially enumerated suffixes with the “var_n1 – var_n2” syntax. We state in the above referenced section that R has no straightforward equivalent ability to reference a list of variables by name, though to reference by location is trvial. Wayne Richter (of the NY State Department of Environmental Conservation) pointed out a reference from Muenchen’s excellent text that makes this task relatively straightforward to undertake in R for variables with sequential numerical suffixes.**SAS and R**, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

**R**

Here we demonstrate this by displaying the means of the

`cesd1`,

`cesd2`,

`cesd3`, and

`cesd4`variables measuring depressive symptoms at each of the followup time points for the HELP study.

ds = read.csv("http://www.math.smith.edu/r/data/help.csv") mean(ds[, paste('cesd', seq(1:4), sep = '')], na.rm=TRUE)

which generates the output:

cesd1 cesd2 cesd3 cesd4 22.71545 23.58373 22.06855 20.14286

This approach selects a set of variables by generating a character vector of variable names using the

`paste()`function (section 1.4.5) and the

`seq()`function (section 1.11.3). Then the

`mean()`function is applied to the selected columns.

**SAS**

This task is straightforward in SAS, using the

`-`syntax (section 1.11.4) in the

`var`statement in

`proc means`.

proc means data=ds maxdec=2 n mean; var cesd1 - cesd4; run;

The MEANS Procedure Variable Label N Mean ----------------------------------------- CESD1 1 cesd 246 22.72 CESD2 2 cesd 209 23.58 CESD3 3 cesd 248 22.07 CESD4 4 cesd 266 20.14 -----------------------------------------

To

**leave a comment**for the author, please follow the link and comment on their blog:**SAS and R**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.