gpt4 book ai didi

R函数根据重复时间组合行

转载 作者:行者123 更新时间:2023-12-02 18:34:59 24 4
gpt4 key购买 nike

我有一个大型数据集,它有重复的时间(行),我想合并两行列中的数据。数据如下所示:

date              P1   PT1  P2   PT2   P3   PT3

5/5/2011@11:40 NA NA NA NA 9.4 10.1

5/5/2011@11:40 5.6 10.2 8.5 10.1 NA NA

我想了解一下

date                P1     PT1     P2    PT2    P3    PT3

5/5/2011@11:40 5.6 10.2 8.5 10.1 9.4 10.1

我的数据集是 10 年的 10 分钟数据,重复有些随机。添加了 @ 符号以正确显示。

我试过 rbindrbind.row.names 都无济于事。

谢谢!

最佳答案

您可以使用 dplyr 中的 summarize() 函数。以下将起作用,但它不检查重复项,它只取每个日期的最大值。

library(dplyr)
df <- tribble(~date, ~P1, ~PT1, ~P2, ~PT2, ~P3, ~PT3,
"5/5/2011@11:40", NA, NA, NA, NA, 9.4, 10.1,
"5/5/2011@11:40", 5.6, 10.2, 8.5, 10.1, NA, NA
)

df %>%
group_by(date) %>%
summarize(across(starts_with("P"), max, na.rm = TRUE))

换句话说,如果您确定您的数据包含或者一个数字或者 NA,那么它就可以工作。

关于R函数根据重复时间组合行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68924687/

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