gpt4 book ai didi

r - 使用 R 中的 ID 数量随机引入缺失值

转载 作者:行者123 更新时间:2023-12-03 23:26:21 25 4
gpt4 key购买 nike

我有一个包含许多设施的数据集,这些设施具有唯一的设施 ID,并且变量聚集在设施 ID 处。我想选择一些随机选择的 ID,然后为设施内给定数量的报告值引入缺失值。
下面是数据集的示例。

h <- data.frame(cbind(FacilityID = rep(1:5,each=12),X1=rnorm(60,0,1)))
该数据有 5 个 FacilityID,其中为变量 X1 的每个 ID 报告了 12 个值。
我想执行以下操作;
  • 对于随机选择的 2 个 ID,在 ID
  • 内随机分配了 3 个缺失值。
  • 对于随机选择的 1 个 ID,在 ID
  • 内随机分配了 4 个缺失值。

    最佳答案

    这是一个 tidyverse解决方案。
    使用 sample获取 3 个 ID。 sample(row_number()) <= 4随机选择 4 行。

    library(tidyverse)

    ids <- sample(unique(h$FacilityID), 3)

    h %>%
    group_by(FacilityID) %>%
    mutate(
    X1 = case_when(
    FacilityID %in% ids[1:2] & sample(row_number()) <= 3 ~ NA_real_,
    FacilityID %in% ids[3] & sample(row_number()) <= 4 ~ NA_real_,
    TRUE ~ X1
    )
    )

    关于r - 使用 R 中的 ID 数量随机引入缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64856655/

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