gpt4 book ai didi

r - 在 R 中选择每组的第二个观察值

转载 作者:行者123 更新时间:2023-12-04 10:30:47 24 4
gpt4 key购买 nike

我觉得这应该是直截了当的,但我想不通。我想从数据框中按组选择第二个观察值。

例如:

Row Number    Email 
1 xxxx
2 xxxx
3 xxxx
4 xxxx
5 xxxx
6 yyyy
7 yyyy
8 zzzz
9 zzzz
10 zzzz
11 zzzz
12 zzzz

我想要:

Row Number    Email 
2 xxxx
7 yyyy
9 zzzz

似乎 data.table 解决方案和聚合解决方案正在跳过他们应该捕获的电子邮件组。以下是它应该捕获的前六秒行:

Row Number   emails   expected output   actual output
1 aaaa
2 aaaa aaaa aaaa
3 aaaa
4 aaaa
5 aaaa
6 aaaa
7 aaaa
8 bbbb
9 bbbb bbbb bbbb
10 cccc
11 cccc cccc cccc
12 cccc
13 cccc
14 cccc
15 cccc
16 cccc
17 dddd NA
18 eeee
19 eeee eeee
20 eeee
21 ffff
22 ffff ffff ffff

email 'eeee' 在数据集中有一行,所以我希望这一行有一个 NA 行。 email 'dddd' 在原始数据集中有三行,所以我希望这封电子邮件的第二行,但它不存在。

最佳答案

试试这个。无需包:

subset(DF, ave(RowNumber, Email, FUN = seq_along) == 2)

DF[ ave(DF$RowNumber, DF$Email, FUN = seq_along) == 2, ]

使用下面的注释下显示的数据会产生三行:

  RowNumber Email
2 2 xxxx
7 7 yyyy
9 9 zzzz

样本数据没有单行组,问题没有指定如何处理这些组,但这些答案没有为这些组生成任何行。我想你会发现一些答案给出了相同的结果,而另一些给出了 RowNumber 字段设置为 NA 的一行。

注意:

我们将它用于输入数据DF:

Lines <- "RowNumber    Email 
1 xxxx
2 xxxx
3 xxxx
4 xxxx
5 xxxx
6 yyyy
7 yyyy
8 zzzz
9 zzzz
10 zzzz
11 zzzz
12 zzzz"
DF <- read.table(text = Lines, header = TRUE)

下次请提供代码以在问题中创建输入数据。

关于r - 在 R 中选择每组的第二个观察值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29265821/

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