You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按Subject分组并将Interval每6个分箱后计算X、Y均值

按Interval每6个分箱计算各Subject的X/Y均值

要实现按每6个Interval一组分箱,再计算每个Subject在分箱内的X、Y均值,核心是先给Interval创建分箱分组变量,再结合Subject一起分组聚合,具体代码如下:

方法一:生成数字编号的分箱

用简单的算术运算生成1-5的分箱编号(30个Interval刚好分成5组,每组6个):

# 新增分箱列Bin
mydata <- mydata %>%
  mutate(Bin = floor((Interval - 1)/6) + 1)

# 按Subject和Bin分组计算均值
subset <- mydata %>%
  group_by(Subject, Bin) %>%
  summarise(across(X:Y, mean, na.rm = TRUE), .groups = "drop")

解释:floor((Interval - 1)/6) + 1会把Interval 1-6归为Bin1,7-12归为Bin2,以此类推,完美匹配每6个一组的需求。

方法二:生成带区间标签的分箱

如果想要分箱显示为"1-6"这类直观标签,用cut()函数:

# 新增带区间标签的分箱列
mydata <- mydata %>%
  mutate(Bin = cut(Interval, breaks = seq(0, 30, 6), labels = c("1-6", "7-12", "13-18", "19-24", "25-30")))

# 同样分组计算均值
subset <- mydata %>%
  group_by(Subject, Bin) %>%
  summarise(across(X:Y, mean, na.rm = TRUE), .groups = "drop")

你之前的代码只按Subject分组,所以计算的是该Subject下所有Interval的整体均值,现在加上分箱变量Bin后,就能得到每个分箱内的均值结果。

内容的提问来源于stack exchange,提问作者Miguel De Leon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:01:02