在R语言中如何排除首次测量值后计算重复测量的均值
解决方案
我们可以用dplyr包快速实现需求,具体步骤和代码如下:
- 按
ID和Measurement分组,确保每个ID下的不同测量类型独立处理; - 剔除每个分组内的第一条记录;
- 对剩余记录的
BP和BP2分别计算均值。
完整代码:
# 先安装并加载dplyr包(未安装则运行 install.packages("dplyr")) library(dplyr) # 你的原始数据 ID <- c(3,3,3,3,3,3,5,5,5,5) Measurement <- c(2, 2, 2, 2, 2, 19, 6, 6, 6, 7) BP <- c(14, 14, 15, 16, 14, 13, 14, 17, 18, 20) BP2 <- c(7, 7, 8, 9, 10, 11, 14, 7, 8, 9) DF1 <- data.frame(ID, Measurement, BP, BP2) # 生成目标数据集 DF2 <- DF1 %>% group_by(ID, Measurement) %>% slice(-1) %>% # 移除每个分组的第一条记录 summarise( BP_mean = mean(BP), BP2_mean = mean(BP2), .groups = "drop" # 取消分组状态 ) # 查看结果 print(DF2)
运行后得到的结果完全符合你的期望:
ID Measurement BP_mean BP2_mean 1 3 2 14.75 8.5 2 3 19 13.00 11.0 3 5 6 17.50 7.5 4 5 7 20.00 9.0
内容的提问来源于stack exchange,提问作者19056530
相关产品推荐
相关产品推荐

