gpt4 book ai didi

根据R中的另一列删除重复日期

转载 作者:行者123 更新时间:2023-12-01 16:30:25 26 4
gpt4 key购买 nike

我有一个时间序列,其中包含几个小时的多个条目。

                 date  wd  ws temp sol octa pg  mh daterep
1 2007-01-01 00:00:00 100 1.5 9.0 0 8 D 100 FALSE
2 2007-01-01 01:00:00 90 2.6 9.0 0 7 E 50 TRUE
3 2007-01-01 01:00:00 90 2.6 9.0 0 8 D 100 TRUE
4 2007-01-01 02:00:00 40 1.0 8.8 0 7 F 50 FALSE
5 2007-01-01 03:00:00 20 2.1 8.0 0 8 D 100 FALSE
6 2007-01-01 04:00:00 30 1.0 8.0 0 8 D 100 FALSE

我需要获取每小时一个条目的时间序列,在有多个条目的情况下采用具有最小 mh 值的条目。 (所以在上面的数据中,我的第二个条目应该是第 2 行,第 3 行应该被删除。)我一直在研究两种方法:在新数据框中挑选出我想要的内容,并在现有数据框中删除我不需要的内容,但没有得到任何结果。感谢您的帮助。

最佳答案

您可以使用 plyr::arrangedatemh 对数据进行排序,然后删除重复项:

df <- read.table(textConnection("

date wd ws temp sol octa pg mh daterep
'2007-01-01 00:00:00' 100 1.5 9.0 0 8 D 100 FALSE
'2007-01-01 01:00:00' 90 2.6 9.0 0 7 E 50 TRUE
'2007-01-01 01:00:00' 90 2.6 9.0 0 8 D 100 TRUE
'2007-01-01 02:00:00' 40 1.0 8.8 0 7 F 50 FALSE
'2007-01-01 03:00:00' 20 2.1 8.0 0 8 D 100 FALSE
'2007-01-01 04:00:00' 30 1.0 8.0 0 8 D 100 FALSE

"), header = TRUE)

library(plyr)
df <- arrange(df, date, mh)
df <- df[!duplicated(df$date), ]
df
# date wd ws temp sol octa pg mh daterep
# 1 2007-01-01 00:00:00 100 1.5 9.0 0 8 D 100 FALSE
# 2 2007-01-01 01:00:00 90 2.6 9.0 0 7 E 50 TRUE
# 4 2007-01-01 02:00:00 40 1.0 8.8 0 7 F 50 FALSE
# 5 2007-01-01 03:00:00 20 2.1 8.0 0 8 D 100 FALSE
# 6 2007-01-01 04:00:00 30 1.0 8.0 0 8 D 100 FALSE

关于根据R中的另一列删除重复日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10544128/

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