我有一个data.frame df,包含一群人的皮肤温度。测量频率为500Hz,我想下采样到1Hz,同时保留每个“id”的第一个值。问题是每个id的样本长度不同。 我不能使用插入包,因为它不会为我安装,这是不理想的。
非常感谢任何帮助。
df<-data.frame(Time=seq(65),
SkinTemp=rnorm(65,37,0.5),
id=rep(1:10,c(5,4,10,6,7,8,9,8,4,4)))
我的第一个刺是这个,但函数说参数长度为0:
#First values
firstVal<-aggregate(data=df,SkinTemp~id,head,1)
sampledVals<-
lapply(unique(df$id),function(x)df[sample(1:nrow(df$Time[df["id"]==x]), 5),])