小编Lui*_*izZ的帖子

如何在 ggplot 或 ggarrange 中设置绘图大小?

我使用 Rmarkdown,我正在使用 ggarrange 创建许多由不同 ggplot2 图表组成的图形。问题是我无法为单个块内的数字设置不同的大小。我设法设置图形大小的唯一方法是在块选项中,例如:

{r 图 1,图高度 = 4,图宽度 = 7}

有没有办法在每个 ggplot() 或 ggarrange() 函数中设置绘图/网格大小?

详细信息、数据和代码:

我所有的主图都具有相同大小的网格区域,但最终图形的大小会根据它们包含的主图的数量而变化。此外,出于注释目的(例如使用 annotation_figures() 函数),第一行中的图表必须具有较大的顶部边距(用于标题),而最后一行中的图表必须具有较大的底部边距(用于标题)。额外的边距,为标题和说明(例如文本格罗布)腾出空间不应改变绘图网格大小,我希望图形中的所有绘图都相同。

我有一个名为“A1”的数据框示例:

library("pacman")
p_load(ggplot2, ggpubr, hrbrthemes, tidyverse)

year <- rep(seq(2010,2019, 1), each=3)
name <- rep(c("A", "B", "C"), times=10)
n1 <- c(0,0,1,0,2,1,1,1,1,2,0,2,0,2,1,3,2,0,1,4,2,2,9,4,8,11,8,7,9,8)
n2 <- c(7,3,1,14,1,1, 15,4,4,19,9,4,26,9,4,46,4,3,52,12,3,37,12,5,45,10,5,47,18,4)
name2 <- name
A1 <-data.frame(year,name,n1,n2,name2)
Run Code Online (Sandbox Code Playgroud)

使用这个数据框,我在一个块中构建了第一行图,规格为 {fig.height = 4.3, fig.width = 7}。此绘图行包含三个绘图(使用 facet_wrap 制作)和 0.3 英寸的顶部边距,以便为最终图中的标题注释腾出空间,并且没有底部边距。该绘图行也有自己的标题,其作用类似于最终图中的副标题或标签。

AA.1 <- A1 %>%
    ggplot( aes(x=year, y=n1)) +
    geom_line( data=A1 %>% dplyr::select(-name), aes(group=name2), color="grey", size=1.0, alpha=0.6) +
    geom_line( …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggpubr

5
推荐指数
0
解决办法
7132
查看次数

如何在 R 中构建总结第三个变量的双向表(kable 包)

我正在使用 RMarkdown 并尝试使用 kable 包。我有一个三变量数据框:性别(因子)、年龄组(因子)和测试分数(尺度)。我想创建双向表,其中因子变量(性别和年龄组)作为表行和列,并将 test_scores 的汇总统计信息作为单元格内容。这些汇总统计数据包括平均值、标准差和百分位数(中位数、第 1 个十分位数、第 9 个十分位数和第 99 个百分位数)。有没有一种简单的方法可以以漂亮的方式构建这些表(例如使用 kable 包),而无需先将所有这些值输入到矩阵中?我搜索了 kable 帮助文件,但找不到如何操作。

# How my data looks like:

gender <- rep(c(rep(c("M", "F"), each=3)), times=3)
age <- as.factor(rep(seq(10,12, 1), each=6))
score <- c(4,6,8,4,8,9,6,6,9,7,10,13,8,9,13,12,14,16)
testdata <-data.frame(gender,age,score)


| gender | age | score |
|--------|-----|-------|
| M      | 10  | 4     |
| M      | 10  | 6     |
| M      | 10  | 8     |
| F      | 10  | 4     |
| F      | 10  | …
Run Code Online (Sandbox Code Playgroud)

r summary cell kableextra kable

5
推荐指数
1
解决办法
1409
查看次数

对每个输入变量使用多个输出变量对 cross 和 case_when 进行变异

我有一个很大的数据框(在一个小样本下面),我需要根据某些条件将所有以相同前缀开头的列转换为多列,保留原始变量并将原始后缀带入新变量。

数据:

egp <= structure(list(EGP_2007 = structure(c("", "", "II", "", "", "", "", "", "V", "VI"), format.sas = "$"), 
    EGP_2008 = structure(c("", "", "IIIb", "", "", "", "IIIb", "", "V", "VI"), format.sas = "$"), 
    EGP_2009 = structure(c("", "", "IIIb", "", "", "", "I", "II", "V", "I"), format.sas = "$"), 
    EGP_2010 = structure(c("", "", "", "", "", "I", "", "II", "V", "I"), format.sas = "$"), 
    EGP_2011 = structure(c("I", "II", "", "", "", "I", "", "II", "V", "I"), format.sas = "$"), 
    EGP_2012 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

2
推荐指数
1
解决办法
63
查看次数

标签 统计

r ×3

cell ×1

dplyr ×1

ggplot2 ×1

ggpubr ×1

kable ×1

kableextra ×1

summary ×1