0
我非常感謝以下代碼的任何幫助。我已經編寫了一個代碼來通過重複數據集(單獨和根據每個患者ID)擬合線性迴歸線。我真正想要的是能夠提取大於0.05的p值的名稱/ id。用於線性迴歸的for循環的命名輸出
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)中給出的IDS來命名輸出(RES)。我試過添加names(res) <- unique(A$id)
,但這並不能給我真正想要的東西。請注意,我並不是很擅長編寫循環,因此任何改進我的代碼的建議都會受到熱烈的歡迎。 我希望問題很清楚,但如果不是,我會很樂意回答任何問題。
感謝您的回答。我如何確保來自A $ id的名稱被標記爲結果?請注意,我的原始數據比這更大,所以我不能手動完成。 –
初始化/預分配容器的結果是這樣的:'ids < - unique(A $ id)'; 'res < - vector(length(ids),mode =「list」)'; '名字(res)< - ids';然後在循環中執行'res [[i]] < - model1(A ...'。 – fabians
@fabians,你的建議完美地工作 - 正是我想要的。謝謝你,真的我的一天! –