gpt4 book ai didi

r - 基于R中的多个条件从df中提取行

转载 作者:行者123 更新时间:2023-12-02 21:43:58 25 4
gpt4 key购买 nike

我已经订购了一个 df:

df1 = df[with(df, order(ID, Admission)), ]

df1 概述如下:

df1

ID Admission Op1
001122a 2010-01-25 GHJ12
001122a 2011-02-14 GHJ12
002233b 2011-01-27 GHJ12
002233b 2011-05-13 GHJ14
003344c 2010-06-01 GHJ12
003344c 2010-12-01 GHJ14
003344c 2011-03-27 GHJ12

在这种情况下,有没有办法对行进行子集/提取,以获得每个特定 $ID 的最早的 $Admission,或者我必须为此使用循环?我想获得下面的 df2:

df2

ID Admission Op1
001122a 2010-02-14 GHJ12
002233b 2011-01-27 GHJ12
003344c 2010-06-01 GHJ12

我意识到这可能是一个微不足道的问题,但我进行了搜索,但找不到任何足够具体的内容来适用于这种情况。

非常感谢。

最佳答案

这是一种使用合并聚合的方法

> df1$Admission <- as.Date(df1$Admission, format="%Y-%m-%d")
> merge(aggregate(Admission ~ ID, max, data=df1), df1)
ID Admission Op1
1 001122a 2011-02-14 GHJ12
2 002233b 2011-05-13 GHJ14 # maybe your example has an error for this row.
3 003344c 2011-03-27 GHJ12

关于r - 基于R中的多个条件从df中提取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19905685/

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