0

I have created a data frame using the following code:

manager <- c(1,2,3,4,5) date <- c("10/24/08","10/28/08","10/1/08","10/12/08","5/1/09") country <- c("US","US","UK","UK","UK") gender <- c("M","F","F","M","F") age <- c(32,45,25,39,99) q1 <- c(5,3,3,3,2) q2 <- c(4,5,5,3,2) q3 <- c(5,2,5,3,2) q4 <- c(5,5,5,NA,2) q5 <- c(5,5,2,NA,1) leadership <- data.frame(manager,date,country,gender,age, q1,q2,q3,q4,q5, stringsAsFactors = FALSE) 

I have then queried using the following: View(leadership[c(1:3),c("q1","q2","q3","q4","q5")])

My question is as follows: Is there any way to set up an ordered structure to the columns, such that I will be able to query using the following code? View(leadership[c(1:3),c("q1":"q5")])

Thanks in advance.

2 Answers 2

1

Alternatively, in base R append a list with grep() on column names:

leadership[append(1:3, grep("^q.*$", names(leadership)))] # manager date country q1 q2 q3 q4 q5 # 1 1 10/24/08 US 5 4 5 5 5 # 2 2 10/28/08 US 3 5 2 5 5 # 3 3 10/1/08 UK 3 5 5 5 2 # 4 4 10/12/08 UK 3 3 3 NA NA # 5 5 5/1/09 UK 2 2 2 2 1 

And if just a subset of q's pass in a regex search:

leadership[append(1:3, grep("^q[1-3].*$", names(leadership)))] # manager date country q1 q2 q3 # 1 1 10/24/08 US 5 4 5 # 2 2 10/28/08 US 3 5 2 # 3 3 10/1/08 UK 3 5 5 # 4 4 10/12/08 UK 3 3 3 # 5 5 5/1/09 UK 2 2 2 leadership[append(1:3, grep("^q[4-5].*$", names(leadership)))] # manager date country q4 q5 # 1 1 10/24/08 US 5 5 # 2 2 10/28/08 US 5 5 # 3 3 10/1/08 UK 5 2 # 4 4 10/12/08 UK NA NA # 5 5 5/1/09 UK 2 1 
Sign up to request clarification or add additional context in comments.

Comments

0

dplyr::select allows for the non-standard syntax you propose.

library(dplyr) View(select(leadership[1:3, ], q1:q5)) 

See ?select for more details. You could also do select(leadership, starts_with("q"))

2 Comments

Thanks for the starts_with() option. Where can I find out more about those arguments?
All of them are documented at ?starts_with

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.