r - 如何创建在调用时填充空数据框的函数循环
问题描述
我正在创建一个带有结果、协变量和曝光的 lm 循环函数。此循环创建 lm 输出,然后将其放入空数据帧中。但是,当我调用函数时,当我将空数据框的创建放在函数内部时,不会创建数据框。当我将数据框的创建放在函数之外并运行它时,它只会创建一个未填充的空数据框。我想知道解决这个问题的最佳方法是什么。下面是我的代码:
outcomes<- c(out1,out2,out3)
exposure <-c(exp1,exp2,exp3)
my_covariates <- c(cov1,cov2,cov3)
reg_func <- function(data = ads, exposure, my_covariates, outcomes)
{
#creates empty dataframe
myreg_data <- data.frame()
for (i in seq_along(outcomes))
{
for (j in seq_along(exposure))
{
mylm <- lm(formula(paste(outcomes[i], " ~ ", paste(my_covariates,
collapse = " + "), " + " ,paste(exposure[j]))), data = ads)
ctable<-as.data.frame(coef(summary(mylm)))
ctable
dsa<-as.data.frame(cbind(ctable,Variable = rownames(ctable),
Outcome = outcomes[i],
Exposure = exposure[j],
Model="Cont.LR",
Model_n = paste(length(mylm$residuals))))
names(dsa)[4] <- "Pvalue"
rownames(dsa)<-NULL
myreg_data <- rbind(myreg_data,dsa)
return(myreg_data)
}}}
reg_func(data = ads, exposure = exposure, my_covariates =
my_covariates, outcomes = outcomes)
解决方案
推荐阅读
- python - 子进程不执行 exiftool 命令
- ios - AppCheck 如何使用 AppAttest?
- nativescript - 调整 Xcode 设置后,如何在 NS Preview 中使用“UITabBarControllerImpl”解决 CONSOLE WARN?
- elasticsearch - 有没有一种方法可以选择 n 个存储桶,并应用存储桶的 doc_count 的范围过滤器以“即时”跳过存储桶
- javascript - 如何在继续使用 Angular 之前等待来自服务的新数据
- python - TypeError: Object type
cannot be passed to C code using pycryptodome - express - 在 iframe 中表达不同的会话 ID
- selenium-webdriver - 通过 selenium 使用循环编写 excel 文件
- reactjs - 印度手机号码、电子邮件 ID 和密码的正则表达式:React Js || 下一个 Js
- reactjs - 找不到“bson”的类型定义文件。该文件在程序中,因为:隐式类型库“bson”的入口点