R 计算数据帧所有子集的系数

R 计算数据帧所有子集的系数,r,dataframe,lm,coefficients,R,Dataframe,Lm,Coefficients,我想分别计算数据帧中每个个体的权重和时间的相关系数。数据框架由大约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)

我想分别计算数据帧中每个个体的权重和时间的相关系数。数据框架由大约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)
我曾尝试过循环、聚合和应用,但不知道如何一次性计算所有个体的系数,并将输出存储为向量。

按id拆分,然后循环并获得coef:


您应该展示您所做的尝试(尤其是使用
aggregate
),这将帮助我们更好地帮助您。不确定这是否是您想要的,但您可以使用以下操作:
df%>%split(.$id)%%>%map(cor)
。在此之前,请执行
library(tidyverse)
。我尝试的是
aggregate(干燥清洁,by=list(id),FUN=mean,na.rm=TRUE)
,我尝试的应用是
测试
coef(lm(weight~time, data = dataframe))[2]
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.57523482