我试图弄清楚是否有一种方法可以使用 for 循环一次性创建多个表,所有表都使用相同的数据集 - 我将在一秒钟内澄清这一点。我正在使用 R Markdown,因为我最终需要将其编译为 PDF(如果这有什么区别的话)。
因此,我正在使用一个数据库,并尝试根据其中一个变量的值将其分成多个表(使用 gt)。假设我的数据集是关于城镇的年度预算。
data <- data.frame(x=1, y=1:15, z=16:30)
colnames(data) <- c("County", "Town", "Budget")
sample.space <- c(1:5)
number.samples <- 15
data$County <- sample(sample.space, number.samples, replace = TRUE)
sample.space2 <- c(2500:5000)
data$Budget <- sample(sample.space2, number.samples, replace = FALSE)
Run Code Online (Sandbox Code Playgroud)
(请原谅我的创作有些笨拙,我现在不经常处理随机数。)
因此,我想做的是创建单独的表格,显示 X 县内所有城镇的年度预算。通过为每个县创建新的数据集,然后根据新的数据集制作一个表格,我已经能够很好地做到这一点。数据集。当您只查看 5 个县时,这没问题,但如果是 50 个县,那就有点麻烦了。
我觉得应该有某种方法可以使用 for 循环来做到这一点。我的直觉是这样做,但是当我编译时,PDF 上没有打印任何内容。
library(gt)
for (i in 1:5) {
data[data$County == i, ] %>%
gt() %>%
tab_header(
title = "Annual Budget by County",
)
}
Run Code Online (Sandbox Code Playgroud)
如果我选择一个县并在没有循环的情况下尝试同样的事情,我没有问题。
data[data$County == …Run Code Online (Sandbox Code Playgroud)