【发布时间】:2014-03-05 15:04:04
【问题描述】:
对于以下代码的任何帮助,我将不胜感激。我编写了一个代码来通过重复数据集拟合线性回归线(单独并根据每个患者 ID)。我真正想要的是能够提取 p 值高于 0.05 的名称/id。
id <- c("A1", "A1","A1", "B10", "B10", "B10","B10", "B10", "C100", "C100", "C100",
"G100", "G100", "G100")
weight <- rnorm(14, 70)
height <- rnorm(14, 1.7)
A <- data.frame(id, weight, height)
model1 <-function(weight, height){
anything<-lm(weight~height)
res<-round(summary(anything)$coefficients[, 4], 3)
res
}
model2<-function(weight,height){
res<-c()
for(i in unique(A$id)){
res2<-model1(A[A$id == i,]$weight, A[A$id == i,]$height)
res<-c(res,res2)
}
res
}
现在的问题是我想根据数据框 A(即 A1、B10、C100 和 G100)中给出的 id 来命名输出(res)。我试过添加names(res) <- unique(A$id),但这并没有给我我真正想要的东西。请注意,我对编写循环不是很有经验,所以任何改进我的代码的建议都将受到热烈欢迎。
我希望这个问题足够清楚,但如果不是,我很乐意回答任何问题。
【问题讨论】:
标签: r for-loop regression