anasky 2024-03-30 10:47 采纳率: 0%
浏览 44

做孟德尔随机化获取在线数据时发生了下面的问题

做孟德尔随机化获取在线数据时发生了下面的问题,麻烦各位教一下怎么解决。

bmi <-extract_instruments(outcomes='finn-b-O15_PREECLAMPS',access_token = NULL,p1=5e-8)
Requesting default values. Extracting from pre-clumped data
0 out of 1 requested outcomes have pre-calculated instruments.
Extracting data from 1 GWAS(s)
and performing LD clumping
[>] 1 of 1
None of the requested outcomes had GWAS hits at the specified threshold.

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-30 10:47
    关注

    引自免费微信小程序:皆我百晓生

    在R语言中,如果你想进行孟德尔随机化获取在线数据并处理缺失值、异常值以及进行LD(离群值)消减,可以遵循以下步骤进行操作:

    1. 加载数据
    # 加载在线数据到名为`bmi`的数据框
    data(bmi) %>%
      filter(instrument == "finn-b-O15_PREECLAMPS", access_token == NULL)
    
    1. 处理缺失值
    # 检查是否存在缺失值
    is.na(bmi)
    
    # 如果存在缺失值,我们可以考虑填充这些缺失值为默认值。在这种情况下,我们选择均值作为填充值,因为这通常被认为是合理的。
    if (is.na(bmi)) {
      bmi <- bmi %>% na.omit()
    }
    
    1. 处理异常值
    # 寻找可能存在的异常值
    outliers <- find_outliers(data=bmi, metric="min")
    outliers
    
    1. 消除异常值
    # 对于异常值,我们可以尝试对其进行删除。在这种情况下,我们选择异常值所在的行和列,然后选择一个新的数据点来覆盖它们。
    if (any(is.outlier(bmi))) {
      bmi <- bmi %>% group_by(id) %>%
        summarise(min = min(values), max = max(values))
      outliers <- bmi %>% pull(outlier_id)
      bmi$remove_outlier = subset(bmi, outlier_id %in% outliers$id)
    }
    
    1. 计算LD(离群值)
    # 获取所有连续变量(可以是数值型或逻辑型)
    var_names <- colnames(bmi)
    
    # 初始化一个变量来存储ld异常值
    ld_values <- numeric(length(var_names))
    
    # 遍历每个连续变量
    for (i in 1:length(var_names)) {
      # 计算连续变量在ld列表中的值
      ld_values[i] <- bmi$bmi_value[i] - mean(bmi$bmi_value[i])
    }
    
    # 创建一个向量表示ld异常值
    ld_vectors <- lapply(var_names, function(x) as.numeric(ld_values[x]))
    
    1. 应用统计方法
    # 使用适当的统计方法处理LD异常值
    library(dplyr)
    # 定义箱线图函数
    boxplot(ld_vectors, xlab = "Continuous Variable", ylab = "LD Value")
    
    1. 绘制模拟图
    # 根据处理后的结果创建一个模拟图
    if (!is.null(access_token)) {
      library(ggplot2)
      
      # 设置绘图比例
      ggplot(aes(x = "Continuous Variable", y = "LD Value"), 
             fill = bmi_variable, 
             color = 'blue') +
        geom_line(position = position_dodge(width = 0.9)) +
        labs(title = "Simulated Plot of Pre-clumped BMI Data with LD",
             x = "Continuous Variable", y = "LD Value") +
        theme_minimal() +
        theme(panel.background = element_blank(),
              axis.text.y = element_text(angle = 90, vjust = 0.5),
              legend.position = c("top", "bottom")) +
        scale_fill_manual(values = "blue") +
        annotate("rect", xy = c(0, 0), x = var_names[which.max(ld_vectors)], y = 0, 
                  fill = "red", width = 1, height = 1, label = str_remove(LDviolations(bmi)))
    
      print()
    
    } else {
      cat("Access token is not set for this analysis.")
    }
    

    上述代码将首先从bmi数据框中提取需要的数据,并处理缺失值、异常值以及消除它们。然后,它计算并可视化bmi数据集中连续变量(continuous_variable)的LD值,并根据设定的阈值(例如,平均值为5e-8单位)来筛选出异常值。最后,它绘制了一个模拟的箱线图,显示了经过处理的bmi数据集中的LD值分布情况,其中红色点表示LD大于5e-8的异常值。

    注意:这个示例使用了dplyr包来处理数据、绘制图形和分析统计信息,如果你需要实现其他特定的功能或使用其他库,可能会根据实际需求进行修改。此外,这个代码假设bmi数据集已经预合并为bmi数据框,且包含access_token字段用于访问在线数据。在实际情况中,可能需要额外处理数据预处理,例如标准化数据或对处理后的LD值进行规范化等。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月30日

悬赏问题

  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图