গ্ল্যামনেট ব্যবহার করে সঙ্কুচিত (লাসো) পদ্ধতিতে এনএ মানগুলি কীভাবে পরিচালনা করবেন


12

আমি জিডব্লিউএসে লাসো রিগ্রেশন এর জন্য "গ্ল্যামনেট" ব্যবহার করছি। কিছু বৈকল্পিক এবং ব্যক্তির মানগুলি অনুপস্থিত রয়েছে এবং মনে হয় যে গ্ল্যামনেট অনুপস্থিত মানগুলি পরিচালনা করতে পারে না।

এটির জন্য কি কোন সমাধান আছে? বা এমন কি অন্যান্য প্যাকেজ রয়েছে যা লাসো রিগ্রেশন-এ হারিয়ে যাওয়া মানগুলি পরিচালনা করতে পারে?

আমার স্ক্রিপ্ট এখানে।

> library(glmnet)
> geno6<-read.table("c6sigCnt.geno")
> geno6[1:10,1:10] #genotype file (0,1,2 for minor allele counts)

   V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1   1  1  1  1  1  1  1  1  1   0
2   NA NA 1  1  1  1  1  1  1   1
3   0  0  0  0  0  0  0  0  0   2
4   0  1  0  0  0  0  0  0  0   1
5   1  0  1  1  1  1  1  1  1   1
6   0  2  0  0  0  0  0  0  0   0
7   0  0  0  0  0  0  0  0  0   2
8   0 NA  0  0  0  0  0  0  0   0
9   1  0  1  1  1  1  1  1  1   1
10  1  1  1  1  1  1  1  1  1   0

> pheno6<-read.table("c6sigCnt.pheno")
> head(pheno6) #case-control (1,2 for affection status)

  V1
1  2
2  2
3  2
4  2
5  2

> geno61<-as.matrix(geno6) 
> pheno61<-pheno6[,1] 
> fit_lasso <- glmnet(geno61,pheno61,family="binomial",alpha=1,nlambda=100) 

**Error in lognet(x, is.sparse, ix, jx, y, weights, offset, alpha, nobs,  : 
  NA/NaN/Inf in foreign function call (arg 5)**

উত্তর:


12

এনএ মান সহ মামলা ছাড়াই পক্ষপাতদুষ্ট হতে পারে। বিকল্পটি হ'ল নিখোঁজ হওয়া ডেটার একাধিক ফলস্বরূপ সঞ্চালন করা হবে, উদাহরণস্বরূপ mice, এবং তারপরে প্রতিটি প্রতিশ্রুতিতে লাসো করা। অনুপ্রবেশের জন্য লাসো সম্ভবত নির্বাচিত ভেরিয়েবলের বিভিন্ন সেট ফেরত দেবে, তবে আপনি পরীক্ষা করতে পারেন যে আপনার সেরা পরীক্ষার্থীর ভেরিয়েবলগুলি সনাক্ত করার জন্য অভিযুক্ত ডেটা সেটগুলির মধ্যে প্রতিটি ভেরিয়েবল কতবার নির্বাচিত হয়।

ডেপুটেশন নিখোঁজ হওয়ার সম্ভাবনা যদি এর সত্য মানের সাথে সম্পর্কিত হয় তবে অবশ্যই অভিশংসন অযোগ্য। অভিশংসন করার আগে নিশ্চিত হয়ে নিন যে বিষয়টির জ্ঞানের উপর ভিত্তি করে কমপক্ষে বিষয়টি হওয়ার সম্ভাবনা নেই।


3

ব্যবহার করুন complete.casesএবং / অথবা na.omitযেগুলি সারণী নেই তাদের শনাক্ত করতে।

cc <- complete.cases(geno6) & complete.cases(pheno6)
geno61 <- as.matrix(geno6[cc, ])
pheno61 <- pheno6[cc, 1]

glmnet(geno61, pheno61, ...)    

1

আমি জানি এটি একটি পুরানো প্রশ্ন - তবে আমি ইঁদুরের সাথে অভিশাপের বাইরে কিছু সংখ্যক নির্ভরযোগ্য তালিকা পেতে চাইতাম, সমস্ত দোষী ডেটাসেটগুলি স্ট্যাক করার পরে লাসো করা যেতে পারে (যেমন এটি 1 ডেটাসেট ছিল) তবে রেকর্ডগুলির ওজন ছিল অনুপস্থিত ভেরিয়েবলের ভগ্নাংশ দ্বারা। দেখুন: উড এট অল। 2008

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.