【发布时间】:2021-12-22 06:44:54
【问题描述】:
我是 R 的新手。
我有一个使用 3 个数据框生成报告的函数(基本上 do.reports 会在表格之间进行一些计算并将它们合并。
create_report = do_reports(df1, df2, df3)
ID = c("ID1", "ID2", "ID3")
size = c(2, 5, 4)
p = c(0.05, 0.1, 0.3)
var = c(0.3, 0.5, 1.2)
location = c("blood", "tissue", "blood")
df1 = data.frame(ID = ID , size= size, p = p)
df2 = data.frame(ID = ID , var = var)
df3 = data.frame(ID = ID , location = location)
此输出包含 2 个不同的对象(create_report[1]、create_report[2])
#expected create_report[1]
create_report[1] = data.frame(ID = ID , location = location, size = size , p=p)
#expected create_report[2]
create_report[2] = data.frame(location = location, size = size , p=p, var=var)
但是,我想在 df2 中逐行使用do_reports(类似于create_report = do_reports(df1, df2[1,], df3),独立保存结果,完成后将所有结果合并到一个表中。
到目前为止我尝试过的是:
for (i in seq_len(nrow(df2) {
create_report = do_reports(df1, df2, df3)
}
我知道在它上面使用循环可能非常乏味,所以我想知道这里是否有人可以帮助我。
谢谢
【问题讨论】:
-
欢迎来到 SO,Lila McPhee!请让这个问题可重现。这包括您尝试过的示例代码(包括列出非基础 R 包以及收到的任何错误/警告)、示例明确数据(例如,
data.frame(x=...,y=...)或来自dput(head(x))的输出),和给定输入的预期输出。参考:stackoverflow.com/q/5963269、minimal reproducible example 和 stackoverflow.com/tags/r/info。 -
感谢您的评论,现在更清楚了吗?