gpt4 book ai didi

r - 根据第一个时间戳记录保留列表中的值

转载 作者:行者123 更新时间:2023-12-04 11:15:42 28 4
gpt4 key购买 nike

我想远离外部列表:

list <- c("Google", "Yahoo", "Amazon")

dataframe 中的值在第一个时间戳(最旧的时间戳)中记录如下:

dframe <- structure(list(id = c(1L, 1L, 1L, 1L, 2L, 2L, 2L), name = c("Google", 
"Google", "Yahoo", "Amazon", "Amazon", "Google", "Amazon"), date = c("2008-11-01",
"2008-11-02", "2008-11-01", "2008-11-04", "2008-11-01", "2008-11-02",
"2008-11-03")), class = "data.frame", row.names = c(NA, -7L))

预期的输出是这样的:

id   name       date
1 Google 2008-11-01
1 Yahoo 2008-11-01
1 Amazon 2008-11-04
2 Amazon 2008-11-01
2 Google 2008-11-02

这怎么可能?

使用 this它只为每个 id 保留第一条记录,而不是为列表中第一次及时记录的每个值保留

library(data.table)
setDT(dframe)
date_list_first = dframe[order(date)][!duplicated(id)]

最佳答案

使用数据表:

dframe = data.table(dframe)
dframe[, date := as.Date(date)]

dt = dframe[, .(date = min(date)), .(id, name)]

> dt
id name date
1: 1 Google 2008-11-01
2: 1 Yahoo 2008-11-01
3: 1 Amazon 2008-11-04
4: 2 Amazon 2008-11-01
5: 2 Google 2008-11-02

关于r - 根据第一个时间戳记录保留列表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58136138/

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