首页 > 解决方案 > 如何在r中输出所有循环结果?

问题描述

我有一个具有相同前缀的数据框,我想输出所有 lm 结果。这是模拟数据框和脚本。

test<-data.frame(replicate(10,sample(0:1,1000,rep=TRUE)))
dd <- subset(test, X10 != 0)

for(i in i:length(nrow(dd)-1)){
  x<- dd$X10
  y<- dd[, grep("X",names(dd[ ,-1]))]
  lm_name<- paste("lm", "_", i, sep="")
  lm_name<- lm(y[[i]]~x) 
  }

希望有人能帮忙。谢谢!

标签: r

解决方案


magic_for 是一个非常好的软件包,非常适合这个。请注意,根据@dcarlson 的评论,您的循环不起作用,因此出于演示目的,我将其替换1:length(nrow(plotname)-1)1:length(nrow(test)-1)EDIT 更改1:length(nrow(dd)-1)为根据 OP

library(magicfor)

test<-data.frame(replicate(10,sample(0:1,1000,rep=TRUE)))
dd <- subset(test, X10 != 0)

magic_for(print, silent=T, progress=T)

for(i in 1:length(nrow(dd)-1)){ # edited to match changes in OP's post
  x<- dd$X10
  y<- dd[, grep("X",names(dd[ ,-1]))]
  lm_name<- paste("lm", "_", i, sep="")
  lm_name<- lm(y[[i]]~x) 
  print(lm_name)
}

result<-magic_result_as_vector()
result

您还可以magic_result()根据magic_result_as_data_frame()特定需求访问结果


推荐阅读