小编C. *_*ohn的帖子

GLM 回归预测 - 了解哪个因素水平是成功的

我建立了一个二项式 glm 模型。该模型预测两个潜在类别之间的输出:AD 或 Control。这些变量是具有水平的因素:{AD,控制}。我使用这个模型来预测并获得每个样本的概率,但我不清楚概率超过 0.5 是否表示 AD 或 Control。

这是我的数据集:

> head(example)
          cleaned_mayo$Diagnosis pca_results$x[, 1]
1052_TCX                      AD          0.9613241
1104_TCX                      AD         -0.9327390
742_TCX                       AD          1.6908874
1945_TCX                 Control          0.6819104
134_TCX                       AD          0.5184748
11386_TCX                Control          0.4669661
Run Code Online (Sandbox Code Playgroud)

这是我计算模型并进行预测的代码:

# Randomize rows of top performer
example<- example[sample(nrow(example)),]

# Subset data for training and testing
N_train<- round(nrow(example)*0.75)
train<- example[1:N_train,]
test<- example[(N_train+1):nrow(example),]
colnames(train)[1:2]<- c("Diagnosis", "Eigen_gene")
colnames(test)[1:2]<- c("Diagnosis", "Eigen_gene")

# Build model and predict   
model_IFGyel<- glm(Diagnosis ~ Eigen_gene, data = train, family = binomial())
pred<- predict(model_IFGyel, newdata= …
Run Code Online (Sandbox Code Playgroud)

regression r prediction glm

3
推荐指数
1
解决办法
2872
查看次数

整数编码VCF文件的最优解

我对我的问题有一个可行的解决方案,但速度很慢。我很好奇推荐的加速方法,并想看看它能达到多快。这是一个示例输入文件

CHROM    POS REF   ALT   Geno      value                                                                                       
Chr16 616504 T     C     X93.968   0|1:7,28:35:99:0|1:616504_T_C:787,0,177:616504   
Chr16 616504 T     C     BESC.1    0/0:48,0:48:99:.:.:0,114,1710:.                  
Chr16 616504 T     C     BESC.10   1|1:0,23:23:72:1|1:616504_T_C:1059,72,0:616504   
Chr16 616504 T     C     BESC.100  0/0:34,0:34:96:.:.:0,96,1440:.                   
Chr16 616504 T     C     BESC.1001 0/0:47,0:47:99:.:.:0,120,1800:.                  
Chr16 616504 T     C     BESC.1002 0/0:39,0:39:99:.:.:0,108,948:.    

           
Run Code Online (Sandbox Code Playgroud)

目标是从value列中取出第一个和第三个字符并对它们求和,然后输出一个类似的文件,其中值列替换为该总和。前两行的示例输出:

CHROM    POS REF   ALT   Geno      value                                                                                       
Chr16 616504 T     C     X93.968   1   
Chr16 616504 T     C     BESC.1    0   
Run Code Online (Sandbox Code Playgroud)

这是我当前的解决方案,其中 STDIN 1 是输入文件名,STDIN 2 是输出文件名:

#!/bin/bash
i=0
len=$(cat $1 | wc -l)

touch $2
while …
Run Code Online (Sandbox Code Playgroud)

bash awk bioinformatics vcf-variant-call-format

0
推荐指数
1
解决办法
63
查看次数