我正在尝试旋转一个包含标题和副标题的表格,以便标题进入“日期”列,并且副标题是两列而不是重复。
这是我的数据的示例。
这是使用 生成的dput(),因此在原始 Excel 文件中,每个日期都跨越两个子标题(“蓝色”和“绿色”),在 R 中,这些空白单元格被重新命名为 X.1、X.2、 ETC。
table <- " X X.1 X02.Jul.12 X.2 X03.Jul.12 X.3 X04.Jul.12 X.4
1 category number blue green blue green blue green
2 G 1 1 0 1 0 1 0
3 G 2 2 99 2 99 1 99
4 G 3 1 1 1 99 1 99
5 G 4 1 1 1 1 2 99
6 G 5 1 0 1 0 1 99
7 G 6 …Run Code Online (Sandbox Code Playgroud) 问题:
我想使用 PNG 或 JPEG 图像制作多面板图形。这些图像不是在 R 中创建的,但我想在 R 中将它们拼凑在一起以形成一个图形。所有图像的尺寸/尺寸相同。
我尝试过的:
library(png)
img1 <- readPNG("filepath/img1.png")
img2 <- readPNG("filepath/img2.png")
library(patchwork)
patch <- img1 + img2
patch
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我收到以下错误:
[ reached getOption("max.print") -- omitted 3 matrix slice(s) ]
Run Code Online (Sandbox Code Playgroud)
我多次增加了最大打印量(达到高得离谱):
options(maxprint = 1000000000000)
Run Code Online (Sandbox Code Playgroud)
但仍然遇到同样的错误。
然后我尝试使用以下方法将每个图像制作成 ggplot (没有点):
library(ggplot2)
img1plot <- ggplot() +
background_image(img1) +
theme(plot.margin = margin(t=1, l=1, r=1, b=1, unit = "cm"))
Run Code Online (Sandbox Code Playgroud)
返回以下错误:
Error in background_image(d311) :
could not find function "background_image"
Run Code Online (Sandbox Code Playgroud)
有没有另一种方法可以在 R 中将图像拼凑在一起以制作图形?
编辑:
根据@davidnortes的评论,我尝试了以下方法:
p1 <- ggplot2::annotation_custom(grid::rasterGrob(img1,
width=ggplot2::unit(1,"npc"),
height=ggplot2::unit(1,"npc")),
-Inf, …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个表格,显示N(观察次数)、百分比频率(答案 > 0)以及百分比频率的上下置信区间,我想按类型对其进行分组。
数据示例
dat <- data.frame(
"type" = c("B","B","A","B","A","A","B","A","A","B","A","A","A","B","B","B"),
"num" = c(3,0,0,9,6,0,4,1,1,5,6,1,3,0,0,0)
)
Run Code Online (Sandbox Code Playgroud)
预期输出(已填充值):
Type N Percent Lower 95% CI Upper 95% CI
A
B
Run Code Online (Sandbox Code Playgroud)
试图
library(dplyr)
library(qwraps2)
table<-dat %>%
group_by(type) %>%
summarise(N=n(),
mean.ci = mean_ci(dat$num),
"Percent"=n_perc(num > 0))
Run Code Online (Sandbox Code Playgroud)
这有助于获得 N 和百分比频率,但在我添加 mean_ci 时返回错误:“列的长度必须为 1(汇总值),而不是 3”
我试过的第二个代码,在这里找到:
table2<-dat %>%
group_by(type) %>%
summarise(N.num=n(),
mean.num = mean(dat$num),
sd.num = sd(dat$num),
"Percent"=n_perc(num > 0)) %>%
mutate(se.num = sd.num / sqrt(N.num),
lower.ci = 100*(mean.num - qt(1 - (0.05 …Run Code Online (Sandbox Code Playgroud)