You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中基于ICC条件调整样本量N的高效实现问询

调整聚类研究的样本量N(基于ICC值)
  • 需求说明:仅对数据集中**存在ICC值(非NA)**的行,使用公式 N/(1 + (M - 1) * ICC) 调整样本量N。其中:
    • N:原受试者数
    • M:聚类规模
    • ICC:组内相关系数

示例数据集

先模拟一个包含缺失ICC值的测试数据集:

df <- data.frame(
  研究ID = 1:5,
  N = c(200, 150, 300, 250, 180),
  M = c(5, 8, 6, 4, 7),
  ICC = c(0.05, NA, 0.08, 0.03, NA)
)

验证可行的代码

无需复杂的循环或if语句,直接利用R的向量化操作即可高效完成调整:

# 筛选出ICC非NA的行索引
idx <- which(!is.na(df$ICC))
# 对目标行的N值应用公式调整
df$N[idx] <- df$N[idx]/(1 + (df$M[idx] - 1) * df$ICC[idx])

代码说明

  • which(!is.na(df$ICC)):精准定位所有ICC值不为空的行,返回对应的索引位置
  • 通过索引对df$N进行批量赋值,借助R的向量运算特性,比循环写法更简洁高效,也避免了循环易出现的逻辑错误

内容的提问来源于stack exchange,提问作者Ilaria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:20:34