gpt4 book ai didi

r - 计算 R 中多个单独案例的单个案例中两个观察值之间的差异

转载 作者:行者123 更新时间:2023-12-02 08:11:47 25 4
gpt4 key购买 nike

我有一个类似于以下的数据集。

Case <- c("A", "B", "C", "A", "B", "C", "A", "B", "C")
ObservationNumber <- c(1, 1, 1, 2, 2, 2, 3, 3, 3)
ObservedValue <- c(154, 152, 157, 173, 176, 171, 203, 205, 199)

我正在尝试创建一个新的数据框,其中一列是案例(A、B 或 C),第二列是从第一次观察到第三次观察的观察值变化。行数将是不同案例的数量(在上面的示例中为 3,但在实际数据集中为数百)。

有一些变通方法适用于示例数据,但我的真实数据是数百个案例,每个案例有 50 个观察值。因此,我需要一些不需要 (1) 为每个案例创建单独的数据集(例如通过过滤)来执行减法的方法,这是我能够想出的唯一方法拥有。

有没有人对如何做到这一点有任何其他想法?

**同样在示例中,行是按顺序排列的,但在真实数据集中它们不是。结果,我不能只占每组的第一行和最后一行;我需要在每组中获取具有最大值和最小值的行。下面的两个答案都很好地解决了这个问题。

最佳答案

我喜欢使用 dplyr 库来解决这些类型的分组/总结问题:

library(dplyr)
df %>%
arrange(ObservationNumber) %>%
group_by(Case) %>%
summarise(diff = last(ObservedValue) - first(ObservedValue))

关于r - 计算 R 中多个单独案例的单个案例中两个观察值之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46258040/

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