R语言for循环
程序示例
数据集:
ID t1 t2 t3
1 1 52.56441 10.074323 -18.81786
2 1 50.18791 10.058374 -18.30228
3 1 47.68246 10.476636 -21.96603
4 1 48.52158 10.005308 -20.05809
5 1 53.18525 11.335882 -16.52016
6 1 49.73335 9.845289 -17.75557
t1、t2、t3分别表示模型的参数,我们的目的是根据模型参数还原出原始数据,每一个ID对于36次重复测量,即生成83行,36列的一个数据集。以ID=1为例,将参数带入模型中,共进行36次计算,每次计算代入的t值不同,t=1:36;已知数据集共有83个受试个体,遍历83次。
raneff<-read.csv("F:/SAS9.4/SAS.data/newphyscial.csv")
y<-data.frame(matrix(numeric(0),ncol=36))
y
colnames(y)<-paste0("t",1:36)
f1<-vector()
for(i in 1:nrow(raneff)){
for(t in 1:36){
f1[t]=raneff[i,2]+raneff[i,3]*(t/12)+raneff[i,4]*(exp(-2.09*(t/12))-1)
}
VR=matrix(f1,ncol=1)
y[i,]=VR
}
y<-round(y,2)
head(y)