从每个缺失数据的家庭中随机选择一名成员

问题描述 投票:0回答:1

我有一个像这样的巨大数据集:

FAMID <- c(1,1,2,3,3,4,4,5,6)
IID <-   c(1,2,2,1,2,1,2,1,2)
Value <- c(3,6,3,5,6,7,0,4,6)

df <- as.data.frame(cbind(FAMID, IID, Value))

      FAMID IID Value
 [1,]     1   1     3
 [2,]     1   2     6
 [3,]     2   2     3
 [4,]     3   1     5
 [5,]     3   2     6
 [6,]     4   1     7
 [7,]     4   2     0
 [8,]     5   1     4
 [9,]     6   2     6

我需要从每个家庭(FAMID)中随机选择一名成员。每个家庭可以有两名成员(IID=1 或 IID=2),并且存在有两个成员的家庭和只有一名成员的家庭(即 1 或 2)。我需要从每个家庭中随机选择一名成员,但对于那些只有一名成员的家庭,我需要将该成员包括在内。所以,我需要这样的输出:

     FAMID IID Value
[1,]     1   1     3
[2,]     2   2     3
[3,]     3   2     6
[4,]     4   1     7
[5,]     5   1     4
[6,]     6   2     6

我尝试过 dplyr 但无法使其工作。

提前非常感谢您。

r dplyr tidyverse tidy
1个回答
0
投票

这可能就是你所追求的

df %>%
    slice_sample(by = FAMID)
© www.soinside.com 2019 - 2024. All rights reserved.