我在下面提供了一个可重现的小示例。我想为命名 list 中的每个 ggplot 对象在四开中生成选项卡plots。下面的四开文档将在其自己的二级标题中呈现图形,但不会按预期呈现在选项卡中。
---
title: "Untitled"
format: html
---
```{r}
library(tidyverse)
data <- iris %>% as_tibble()
plots <- data %>%
group_nest(Species) %>%
deframe() %>%
map(., ~ {
ggplot(.x, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point()
})
```
# Iris Plots
::: {.panel-tabset}
```{r}
#| column: screen
#| fig-width: 12
#| fig-height: 8
#| fig-align: center
#| results: asis
iwalk(plots, ~ {
cat('## ', .y, '\n\n')
print(.x)
cat('\n\n')
})
```
:::
Run Code Online (Sandbox Code Playgroud)
当块选项(除 results:asis 之外的所有选项)被删除时,文档将按预期正确渲染选项卡内的绘图。
# Iris …Run Code Online (Sandbox Code Playgroud) 我目前遇到的问题是在幸存者的rmarkdown块输出中出现空白图.请看下面的图片.
它使输出变得困难,因为它在尝试创建报告时包含巨大的空白空间.
我一直在调查这个问题,我已经把它缩小到与这个打印"新页面"的论点有关 -
我的问题是 - 有谁可以解释这里到底发生了什么? - 为什么有一个'空白'情节,我怎么能不显示它? - 当我有第一个情节的newpage = F和第二个情节的新页= T没有显示空白页时,到底发生了什么? - 有没有其他方法没有第一个空白图显示?
谢谢!
编辑:
可重复的例子 -
require(survminer)
require(survival)
Data <- data.frame(
X = sample(1:30),
Y = sample(c(1,0), 30, replace = TRUE),
Z = sample(c(1,0), 30, replace = TRUE)
)
ggsurvplot(
survfit(Surv(Data$X, Data$Y) ~ Data$Z),
risk.table = T,
break.time.by = 12,
risk.table.fontsize = 3,
font.tickslab = 10,
font.x = 11,
xlab = 'Time (Months)',
font.y = 11,
font.main = 11,
legend = c(0.8, .9),
legend.title = '', …Run Code Online (Sandbox Code Playgroud) Group Start End Days
A 5/12/2015 5/14/2015 3
A 5/12/2015 5/14/2015 3
B 1/1/2015 1/3/2015 3
B 1/1/2015 1/3/2015 3
H 1/8/2015 1/9/2015 2
H 1/8/2015 1/9/2015 2
H 1/13/2015 1/15/2015 3
H 1/7/2015 1/17/2015 3
H 1/12/2015 1/22/2015 7
Run Code Online (Sandbox Code Playgroud)
我上面附上了我的数据集样本.我正在尝试计算R中每个组的唯一天数.对于一些观察,它非常简单,即A和B.然而,有些组具有不同的天数重叠以及日期范围中的间隙,即H.
无论如何,我可以总结一下R中每个组的唯一天数(没有重叠并说明差距)?即A和B将分别返回3天,H将返回11天.
Group Count
A 3
B 3
H 16
Run Code Online (Sandbox Code Playgroud)
我最好的猜测是使用dplyr和summaryrize函数,但是我无法绕过任何解决方案.任何帮助表示赞赏!谢谢
误差在contrasts<-(*tmp*,值= contr.funs [1 + ISOF [NN]]):对比度可以只应用于因素有2倍或更多的水平
每当我尝试在调查包中使用svychisq函数时,我都会收到此错误.但是当我使用svytable函数时,该函数可以正常工作.该错误涉及具有2级或更多级别的因子--DIED变量是具有2级,0和1的因子.
> svytable(~COHORT+DIED, design=df_srvy)
DIED
COHORT 0 1
1997 26726.584 1647.118
2000 26958.912 1628.692
2003 30248.533 1599.094
2006 36602.173 1586.526
2009 44004.732 2531.597
2012 56037.874 2766.386
> svychisq(~COHORT+DIED, design=df_srvy)
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels
Run Code Online (Sandbox Code Playgroud)
编辑:
这是问题的一个小子集示例
sample <- structure(list(DISCWT = c(1.36973, 1.4144, 1.41222, 1.41222,
1.4144, 1.4144, 1.41222, 1.41222, 1.4144, 1.41222, 1.41222, 1.41222,
1.41222, 1.4144, …Run Code Online (Sandbox Code Playgroud) 我在下面提供了一个最小的可重现示例。我目前正在尝试使用 R quarto 包将逻辑参数传递到 Quarto 块选项中。
下面是四开文档,我在其中创建了 2 个参数 、show_code和show_plot。
---
title: "Untitled"
format: html
params:
show_code: TRUE
show_plot: TRUE
---
```{r, echo=params$show_code}
summary(cars)
```
```{r, include=params$show_plot}
plot(pressure)
```
Run Code Online (Sandbox Code Playgroud)
该文档将通过 R studio 中的渲染按钮正确渲染。
但是,当尝试通过 R quarto 包中的函数渲染此文档时quarto_render(),将会失败。
library(quarto)
quarto::quarto_render(
input = 'qmd_document.qmd',
output_format = 'html',
output_file = 'qmd_document_with_code.html',
execute_params = list(show_plot = TRUE,
show_code = TRUE)
)
Run Code Online (Sandbox Code Playgroud)
看起来,控制台中的块 1 和块 2 都yes传递了一个字符,而不是逻辑TRUE或。FALSE
如何通过 正确地将逻辑字符传递给参数化的四开报表块选项quarto_render()?
我有一个序列变量列表,我想知道在变量序列中是否有一个简单的dplyr子集化方法.
例如,我有以下变量:
DX1 DX2 DX3 DX4 DX5
如果这些变量中的任何一个包含以下字符串'7586',我想要我的数据的子集.
从单个变量子集我将执行以下操作:
filter(df, DX1 == '7586')
Run Code Online (Sandbox Code Playgroud)
我能想到的唯一方法是:
filter(df, DX1 == '7586' | DX2 == '7586' | DX3 == '7586' | DX4 == '7586' | DX5 == '7586')
Run Code Online (Sandbox Code Playgroud)
我的实际数据集包含DX1-DX25,编写起来非常繁琐.
有没有简化上述方法的方法?
一些东西
filter(df, DX1-25 == '7586')
Run Code Online (Sandbox Code Playgroud)
谢谢