从R中的主数据库创建新 Dataframe

ddhy6vgd  于 2023-01-22  发布在  其他
关注(0)|答案(1)|浏览(110)

我有一个不同的法定传染病的数据库。
我想为数据库中的每种疾病提取一个 Dataframe ,这样我就可以在Rmarkdown中制作一个自动报告表单模板。
我创建了一个函数来创建 Dataframe
NMC〈-是主数据库
数据库列出了报告的所有情况
我列了一个清单

conditions <- list(unique(NMC$Condition))

然后,我创建了一个函数来根据条件创建新的 Dataframe

newdf <- function(data, var){
  var <- data %>% filter(data$Condition %in% paste0(var))
  var
}

现在我想运行我的函数从master数据库创建一些新的dataframe。我想做一个for循环:

for (df in conditions){
  df <- newdf(NMC, "df")
}

它跑了但什么也没给予我。
所以我找到了split(),但这并没有完美地解决我的问题,因为我仍然需要输入所有的条件来使每个df应用于r模板。

NMC <- split(NMC, factor(NMC$Condition), drop= FALSE)

#then to get a specifc df (which is laborious)

rubella <- NMC$congenitalrubellasyndrome

# How can i get the dataframes per condition into my environemnt, or access them easily, maybe with %>% fucntion?

我的最终目标是将R模板应用于每个 Dataframe ,这样我就有了每种疾病的标准epicurve/描述性统计数据。
谢谢

zujrkrfu

zujrkrfu1#

> df <- data.frame(a = rep(letters[1:10], each = 3), x = 1:30)

> for (i in df$a) {
+   assign(i, df[df$a == i, ])
+ }

> ls()
 [1] "a"  "b"  "c"  "d"  "df" "e"  "f"  "g"  "h"  "i"  "j"

> a
  a x
1 a 1
2 a 2
3 a 3

但是看我上面的评论。

相关问题