Ошибка при использовании summary_table в qwraps2. Не верный data.frame? - PullRequest
0 голосов
/ 21 января 2019

Я совсем новичок в использовании R, так что, надеюсь, это не слишком просто ...
Я пытаюсь создать сводную таблицу, используя qwraps2. Следуя хорошо написанному учебнику без проблем ( qwraps2 ), я сталкиваюсь с ошибкой при применении своего собственного набора данных.

library(qwraps2)    
summary_tbl1 <-  
  list("Gender" =  
     list("Female" = ~ qwraps2::n_perc0(.data$gender == 0),  
          "Male" = ~ qwraps2::n_perc0(.data$gender == 1)),  
  "Mean age (sd)" = ~ qwraps2::mean_sd(.data$inage),  
  "Age categories" =  
     list("65-74" = ~ qwraps2::n_perc0(.data$age_cat == 1),  
          "75-84" = ~ qwraps2::n_perc0(.data$age_cat == 2),  
          "> 85" = ~ qwraps2::n_perc0(.data$age_cat == 3))  
   )

#making the overall column
c_overall <- summary_table(my_dataset, summary_tbl1)

Ошибка: x должна быть формулой. Вызовите rlang::last_error(), чтобы увидеть обратный след

Обратный след выглядит следующим образом:

  1. стоп (cnd)
  2. rlang :: abort (x)
  3. rlang :: f_rhs (y)
  4. FUN (X [[i]], ...)
  5. lapply (s, function (y) {rlang :: f_rhs (y)})
  6. FUN (X [[i]], ...)
  7. lapply (резюме, функция (и) {lapply (s, функция (y) {rlang :: f_rhs (y)})) ...
  8. eval (lhs, parent, parent)
  9. eval (lhs, parent, parent)
  10. lapply (сводка, функция (и) {lapply (s, функция (y) {rlang :: f_rhs (y)})) ...
  11. summary_table.data.frame (new_dataset, summary_tbl1)
  12. summary_table (new_dataset, summary_tbl1)

Я преобразовал набор данных в data.frame, используя as.data.frame, поскольку это то, что требуется summary_table, насколько я понимаю.

Мой набор данных импортирован из STATA (пакет Haven), может ли это быть ответом, а если это так - какие-нибудь идеи о том, как преодолеть?

Или это может быть связано с размером моего набора данных (80,300 obs)?

Заранее спасибо

Добавлена ​​сводная информация:

summary_tbl1
$ Gender
$ Gender $ Female
~ qwraps2 :: n_perc0 (.data $ пол == 0)
$ Gender $ Мужской
~ qwraps2 :: n_perc0 (.data $ пол == 1)
$ Mean age (sd)
~ Qwraps2 :: mean_sd (.data $ Inage)
$ Age categories
$ Age categories $ 65-74
~ qwraps2 :: n_perc0 (.data $ age_cat == 1)
$ Age categories $ 75-84
~ qwraps2 :: n_perc0 (.data $ age_cat == 2)
$ Age categories $ > 85
~ qwraps2 :: n_perc0 (.data $ age_cat == 3)

1 Ответ

0 голосов
/ 22 января 2019

похоже, вы собрали все в один список под названием «Пол».Похоже, ваш формат данных: пол [мужской, женский), средний возраст, возрастные категории ()].поэтому у вас есть список с именем genders, содержащий неназванный список, числовые имена mean_age и именованный список age_categories.

...