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

使用pedtools转换R系谱数据框为ped对象时的性别匹配错误排查

问题原因

pedtools包的as.ped()函数对系谱数据框的列名有固定默认规则:

  • fid列默认对应父亲ID
  • mid列默认对应母亲ID

你现在的数据框里把母亲(287,女性)的ID存在了fid列,父亲(212,男性)的ID存在了mid列,函数按默认规则读取后,自然会把fid里的女性判定为父亲、mid里的男性判定为母亲,触发性别不匹配的报错。

两种解决办法
  • 办法一:调整数据框列的内容或名称,让fid存父亲ID,mid存母亲ID:
    # 交换fid和mid列的内容,并重命名确保列名正确
    df <- df[, c("id", "mid", "fid", "sex")]
    colnames(df) <- c("id", "fid", "mid", "sex")
    # 重新转换为ped对象
    ped_obj <- as.ped(df)
    
  • 办法二:调用as.ped()时直接指定列映射,不用修改原数据:
    # 指定原mid列为父亲ID,原fid列为母亲ID
    ped_obj <- as.ped(df, fid = "mid", mid = "fid")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 22:55:16