【发布时间】:2018-04-26 08:03:25
【问题描述】:
我有数据,其中个人(姓名)在蛋阶段类别中多次出现。我希望每个人只有一个样本,但我不只是想保留 R 找到的第一个样本。我想保留该组在所有其他类别中出现最多的那个。希望我的示例有助于说明这一点。
library(tidyverse)
myDF <- read.table(text="Tissue Food Eggphase Name Group
wb fl after Kia a
wb fl after Kia c
wb wf before Kia b
wb fl before Lucy c
wb fl after Lucy b
wb fl after Lucy c
wb fl yolkdep Jess c
wb fl yolkdep Betty a
wb fl yolkdep Betty b", header = TRUE)
我只想保留 Name 出现一次的行,按 Tissue、Food 和 Eggphase 分组,但我想选择 Group 出现在大多数(如果不是所有不同的 eggphase)的行(具有相同的 Tissue 和 Food 组合)。
#results I want
Tissue Food Eggphase Name Group
1 wb fl after Kia c
2 wb wf before Kia b
3 wb fl before Lucy c
4 wb fl after Lucy c
5 wb fl yolkdep Jess c
6 wb fl yolkdep Betty b
我试过了
one_bird <- myDF %>%
distinct(Tissue, Food, Eggphase, Name, .keep_all = TRUE)
但它只保留第一个条目
Tissue Food Eggphase Name Group
1 wb fl after Kia a
2 wb wf before Kia b
3 wb fl before Lucy c
4 wb fl after Lucy b
5 wb fl yolkdep Jess c
6 wb fl yolkdep Betty b
关于如何告诉它选择Group 出现在TissueFood 组合中的大多数(如果不是全部)蛋相中的行的任何想法?
在我的示例中,在wb 和fl 的Tissue 和Food 组合中出现最多的组是c 和b,但Kia 没有出现在Group b所以c 是一个更好的选择。像这个例子一样,我的数据有重复,这些重复来自不是最常见的Group 组,我如何让它为该行选择下一个最常见的?
我希望我已经说得够明白了。
【问题讨论】: