【发布时间】:2026-01-17 13:55:01
【问题描述】:
H, 我有一个这样的数据框:
d <- data.frame(v1=seq(0,9.9,0.1),
v2=rnorm(100),
v3=rnorm(100))
> head(d)
v1 v2 v3
1 0.0 -0.01431916 -0.5005415
2 0.1 -1.01575590 1.5307473
3 0.2 1.00081065 -0.1730830
4 0.3 -1.20697918 0.5105118
5 0.4 -2.16698578 -1.0120544
6 0.5 0.33886508 0.4797016
我现在想要一个新的数据框,它总结了区间 0-0.99、1-1.99、2-2.99、3-3.99 中的所有值,例如平均值
喜欢这个
start end mean.v2 mean.v3
0 1 0.2 0.1
1 2 0.5 0.4
等等
谢谢
更新我应该补充一点,在我的真实数据集中,每个间隔中的观察具有不同的长度,它们并不总是从零开始或在 10 结束
【问题讨论】:
-
您可以使用
cut。也许d %>% group_by(v1 = cut(v1, breaks= c(-Inf,0, 0.99, 1.99, 2.99, Inf))) %>% summarise_each(funs(mean)) -
@akrun 我在问题中添加了一些进一步的信息。应该有一种方法,我不必手动设置间隔