Absolute_Human
Absolute_Human

Reputation: 23

Rstudio - how to write smaller code

I'm brand new to programming and an picking up Rstudio as a stats tool. I have a dataset which includes multiple questionnaires divided by weeks, and I'm trying to organize the data into meaningful chunks. Right now this is what my code looks like:

w1a=table(qwest1,talm1)

w2a=table(qwest2,talm2)

w3a=table(quest3,talm3)

Where quest and talm are the names of the variable and the number denotes the week. Is there a way to compress all those lines into one line of code so that I could make w1a,w2a,w3a... each their own object with the corresponding questionnaire added in?

Thank you for your help, I'm very new to coding and I don't know the etiquette or all the vocabulary.

Upvotes: 0

Views: 62

Answers (1)

IRTFM
IRTFM

Reputation: 263342

This might do what you wanted (but not what you asked for):

 tbl_list <- mapply(table,  list(qwest1, qwest2, quest3),
                            list(talm1, talm2, talm3) )
 names(tbl_list) <-  c('w1a', 'w2a','w3a')

You are committing a fairly typical new-R-user error in creating multiple similarly named and structured objects but not putting them in a list. This is my effort at pushing you in that direction. Could also have been done via:

  qwest_lst <-  list(qwest1, qwest2, quest3)
  talm_lst <- list(talm1, talm2, talm3)
  tbl_lst <- mapply(table, qwest_lst, talm_lst)
  names(tbl_list) <-  paste0('w', 1:3, 'a')

There are other ways to programmatically access objects with character vectors using get or wget.

Upvotes: 1

Related Questions