我是使用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()
以查看回溯
回溯如下:
12. stop(cnd)
11. rlang::abort(x)
10. rlang::f_rhs(y)
9. FUN(X[[i]], ...)
8. lapply(s, function(y) { rlang::f_rhs(y) })
7. FUN(X[[i]], ...)
6. lapply(summaries, function(s) { lapply(s, function(y) { rlang::f_rhs(y) })...
5. eval(lhs, parent, parent)
4. eval(lhs, parent, parent)
3. lapply(summaries, function(s) { lapply(s, function(y) { rlang::f_rhs(y) })...
2. summary_table.data.frame(new_dataset, summary_tbl1)
1. summary_table(new_dataset, summary_tbl1)
我已经使用 as.data.frame
将数据集转换为data.frame
,因为根据我所能理解的,这是summary_table
所需要的。
我的数据集是从 STATA(避风港包)导入的,这可能是答案吗,如果是这种情况 - 关于如何克服的任何想法?
或者它可能与我的数据集的大小(80.300 obs)有关?
提前致谢
添加了摘要读数:
summary_tbl1
$`Gender`
$`Gender`$`Female`
~qwraps2::n_perc0(.data$gender == 0)
$`Gender`$Male
~qwraps2::n_perc0(.data$gender == 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)
您已将所有内容收集到一个名为"性别"的列表中。 您的数据格式显示为性别[(男性,女性),mean_age,age_categories()]。 因此,您有一个名为 Genders 的列表,其中包含一个未命名的列表、一个数字名称mean_age和一个名为 age_categories 的命名列表。
@phi的答案是正确的。更详细地说明:摘要是预期的成为列表的列表。也就是说,一个列表 hare 每个元素都是一个列表。
让我们看一下提供的摘要的结构:(编辑:省略.data
代词,因为它在 Qwraps2 版本中不再推荐0.5.0,2020 年 9 月 1 日发布)。
summary_tbl1 <-
list("Gender" =
list("Female" = ~ qwraps2::n_perc0(gender == 0),
"Male" = ~ qwraps2::n_perc0(gender == 1)
),
"Mean age (sd)" = ~ qwraps2::mean_sd(inage),
"Age categories" =
list("65-74" = ~ qwraps2::n_perc0(age_cat == 1),
"75-84" = ~ qwraps2::n_perc0(age_cat == 2),
"> 85" = ~ qwraps2::n_perc0(age_cat == 3)
)
)
str(summary_tbl1, max.level = 1)
#> List of 3
#> $ Gender :List of 2
#> $ Mean age (sd) :Class 'formula' language ~qwraps2::mean_sd(inage)
#> .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
#> $ Age categories:List of 3
第一个和第三个元素是列表,但第二个元素是公式。摘要的正确规范是:
summary_tbl1 <-
list("Gender" =
list("Female" = ~ qwraps2::n_perc0(gender == 0),
"Male" = ~ qwraps2::n_perc0(gender == 1)),
"inage" =
list("Mean age (sd)" = ~ qwraps2::mean_sd(inage)),
"Age categories" =
list("65-74" = ~ qwraps2::n_perc0(age_cat == 1),
"75-84" = ~ qwraps2::n_perc0(age_cat == 2),
"> 85" = ~ qwraps2::n_perc0(age_cat == 3))
)
str(summary_tbl1, max.level = 1)
#> List of 3
#> $ Gender :List of 2
#> $ inage :List of 1
#> $ Age categories:List of 3
创建于 2020-09-01 由 reprex 软件包 (v0.3.0)
devtools::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.0.2 (2020-06-22)
#> os macOS Catalina 10.15.6
#> system x86_64, darwin17.0
#> ui X11
#> language (EN)
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz America/Denver
#> date 2020-09-01
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> package * version date lib source
#> assertthat 0.2.1 2019-03-21 [1] CRAN (R 4.0.0)
#> backports 1.1.9 2020-08-24 [1] CRAN (R 4.0.2)
#> callr 3.4.3 2020-03-28 [1] CRAN (R 4.0.0)
#> cli 2.0.2 2020-02-28 [1] CRAN (R 4.0.0)
#> crayon 1.3.4 2017-09-16 [1] CRAN (R 4.0.0)
#> desc 1.2.0 2018-05-01 [1] CRAN (R 4.0.0)
#> devtools 2.3.1 2020-07-21 [1] CRAN (R 4.0.2)
#> digest 0.6.25 2020-02-23 [1] CRAN (R 4.0.0)
#> ellipsis 0.3.1 2020-05-15 [1] CRAN (R 4.0.0)
#> evaluate 0.14 2019-05-28 [1] CRAN (R 4.0.0)
#> fansi 0.4.1 2020-01-08 [1] CRAN (R 4.0.0)
#> fs 1.5.0 2020-07-31 [1] CRAN (R 4.0.2)
#> glue 1.4.2 2020-08-27 [1] CRAN (R 4.0.2)
#> highr 0.8 2019-03-20 [1] CRAN (R 4.0.0)
#> htmltools 0.5.0 2020-06-16 [1] CRAN (R 4.0.0)
#> knitr 1.29 2020-06-23 [1] CRAN (R 4.0.0)
#> magrittr 1.5 2014-11-22 [1] CRAN (R 4.0.0)
#> memoise 1.1.0 2017-04-21 [1] CRAN (R 4.0.0)
#> pkgbuild 1.1.0 2020-07-13 [1] CRAN (R 4.0.2)
#> pkgload 1.1.0 2020-05-29 [1] CRAN (R 4.0.0)
#> prettyunits 1.1.1 2020-01-24 [1] CRAN (R 4.0.0)
#> processx 3.4.3 2020-07-05 [1] CRAN (R 4.0.0)
#> ps 1.3.4 2020-08-11 [1] CRAN (R 4.0.2)
#> R6 2.4.1 2019-11-12 [1] CRAN (R 4.0.0)
#> remotes 2.2.0 2020-07-21 [1] CRAN (R 4.0.2)
#> rlang 0.4.7 2020-07-09 [1] CRAN (R 4.0.2)
#> rmarkdown 2.3 2020-06-18 [1] CRAN (R 4.0.0)
#> rprojroot 1.3-2 2018-01-03 [1] CRAN (R 4.0.0)
#> sessioninfo 1.1.1 2018-11-05 [1] CRAN (R 4.0.0)
#> stringi 1.4.6 2020-02-17 [1] CRAN (R 4.0.0)
#> stringr 1.4.0 2019-02-10 [1] CRAN (R 4.0.0)
#> testthat 2.3.2 2020-03-02 [1] CRAN (R 4.0.0)
#> usethis 1.6.1 2020-04-29 [1] CRAN (R 4.0.0)
#> withr 2.2.0 2020-04-20 [1] CRAN (R 4.0.0)
#> xfun 0.16 2020-07-24 [1] CRAN (R 4.0.2)
#> yaml 2.2.1 2020-02-01 [1] CRAN (R 4.0.0)
#>
#> [1] /Library/Frameworks/R.framework/Versions/4.0/Resources/library