gpt4 book ai didi

R - 数据框列中序列中数字的平均值

转载 作者:行者123 更新时间:2023-12-05 01:23:43 25 4
gpt4 key购买 nike

我正在尝试计算在另一列 (x) 中按顺序计数(1、2、3 等)的列 (y) 中的值的平均值。下面显示了一个示例数据框。

> df
x y
1 1 15
2 2 20
3 4 16
4 5 12
5 6 17
6 8 14
7 9 13
8 10 19

我想得到一个矢量结果,它将读出数字序列中数字的平均值。所需的向量将显示为:17.5 15 15.33333

我不确定产生所需结果的最佳方法,但我尝试使用 diff(df[,1]) 进行 for 循环来查找断点,但未能成功。

任何人都可以提供任何帮助,我们将不胜感激。这是一个小型示例数据集,但目标是将其应用于大型数据集。

最佳答案

在逻辑向量上使用 cumsumdiff 创建分组列

with(df, tapply(y, cumsum(c(TRUE, diff(x) != 1)), FUN = mean))

-输出

  1        2        3 
17.50000 15.00000 15.33333

数据

df <- structure(list(x = c(1L, 2L, 4L, 5L, 6L, 8L, 9L, 10L), y = c(15L, 
20L, 16L, 12L, 17L, 14L, 13L, 19L)), class = "data.frame",
row.names = c("1",
"2", "3", "4", "5", "6", "7", "8"))

关于R - 数据框列中序列中数字的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71972775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com