Expss - использование префикса переменной для создания набора переменных для таблицы средних значений - PullRequest
1 голос
/ 17 апреля 2020

Попытка получить пакет Expss для создания средних таблиц из наборов (аналогично множеству таблиц ответов, в результате чего вы вводите префикс, общий для всех переменных в наборе).

Вот моя попытка решить эту проблему ниже, но этот скрипт создает таблицу с пустым выводом. Есть ли способ сделать это?

library(expss)
#generate dummy data
q8_1<-rnorm(30,2,2)
q8_2<-rnorm(30,2,1)
df<-data.frame(q8_1,q8_2)

#Use regex to identify variables with Q8 prefix and then list
varssmeanio<-names(df[grep("^Q8", names(df))])
as.list(varssmeanio)
variolistio = calc(data, as.list(varssmeanio))

df %>%
tab_cells(variolistio) %>%
tab_stat_mean(label = "")  %>%
tab_pivot()

Ответы [ 2 ]

2 голосов
/ 17 апреля 2020

Это будет работать

varssmeanio<-df[grep("[Q8]", names(df))]

df %>%
  tab_cells(varssmeanio) %>%
  tab_stat_mean(label = "")  %>%
  tab_pivot()

Таблица вывода

 |      | #Total |
 | ---- | ------ |
 | q8_1 |    1.8 |
 | q8_2 |    1.6 |
0 голосов
/ 17 апреля 2020

Существуют специальные функции для выбора переменных. Вы можете найти справку о них, набрав ?vars в консоли. Одним из них является ..p - он выбирает переменную с регулярными выражениями в стиле perl. Итак имеем:

library(expss)
#generate dummy data
q8_1<-rnorm(30,2,2)
q8_2<-rnorm(30,2,1)
df<-data.frame(q8_1,q8_2)

df %>%
    tab_cells(..p("^q8")) %>%   # 'p' means 'perl' 
    tab_stat_mean(label = "")  %>%
    tab_pivot()
...