我要分别计算数据帧中每个个体的权重和时间的相关系数。该数据框架由大约40人组成,每个人的观测量不超过10人。我已经能够分别计算单个人的系数,但不能让R一次就能计算出这个系数。
我的数据如下所示:
id <- c(rep(1, times = 10), rep(3, times = 10), rep(4, times = 10))
time <- c(1,2,3,4,5,6,7,8,9,10)
weight <- runif(30, min = 50, max = 100)
dataframe <- data.frame(id, time, weight)我已经成功地使用这个函数计算了不同个体的系数:
coef(lm(weight~time, data = dataframe))[2]我已经尝试过for-loops,aggregate和apply,但是我想不出如何一次计算所有个体的系数,并将输出存储为向量。
发布于 2018-05-23 12:51:26
按id分割,然后循环并得到coef
sapply(split(dataframe, dataframe$id), function(i) coef(lm(weight ~ time, data = i))[2])
# 1.time 3.time 4.time
# 1.48800159 -0.05921987 -2.57523482https://stackoverflow.com/questions/50488690
复制相似问题