[問題] 多欄資料迴圈處理
各位先進 又來請教問題了 謝謝大家指導
先上資料檔 https://www.dropbox.com/s/s0rmp73n08qbyfl/test0430.csv?dl=0
第一部分
#註:資料檔中的NA值可先忽略
#以下語法皆只能處理單欄資料
###讀檔並轉成類別型資料###
temp=read.csv("C:\\Users\\Win\\Desktop\\test0430.csv",header=T)
for(i in 1:ncol(temp)) temp[,i]=as.character(temp[,i])
###MAF計算###
table.rs1=table(temp[,1]) #可知rs1的 0有116個,1有31個,2有2個
#計算n
n0=116;n1=31;n2=2;
n=n0+n1+n2
#計算minor allele frequencies(MAF)
p=((2*n0)+n1)/(2*n);q=1-p
maf=pmin(p,q)
問題1:我該如何把每欄的rs用迴圈的方式計算完
問題2:全部rs計算完畢後,若該rs計算出來的maf<0.05,就存到另一個csv檔,
其rs下的資料也要保留,因為要繼續做後續的分析,所以新的csv檔維度為149*欄數
第二部分
#註:資料檔中的NA值可先忽略
#以下語法皆只能處理單欄資料
###讀檔並轉成類別型資料###
temp=read.csv("C:\\Users\\Win\\Desktop\\test0430.csv",header=T)
for(i in 1:ncol(temp)) temp[,i]=as.character(temp[,i])
###Likelihood ratio test for Hardy Weinberg equilibrium###
#以rs1為例
obs=cbind(n0=n0,n1=n1,n2=n2)
exp=(cbind(p*p,2*p*q,q*q))*n
chisq=(obs-exp)
chisq.ratio=(chisq*chisq)/exp
hwe.chisq=apply(chisq.ratio,1,sum)
hwe.chisq.p=1-pchisq(hwe.chisq,df=1)
問題3:我該如何把每欄的rs用迴圈的方式計算完
問題4:全部rs計算完畢後,若該rs計算出來的hwe.chisq.p<0.05,就存到另一個csv檔,
其rs下的資料也要保留,因為要繼續做後續的分析,所以新的csv檔維度為149*欄數
以上是我的問題,有勞各位先進前輩指導,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.184.161.128
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1430654523.A.539.html
※ 編輯: sinclairJ (111.184.161.128), 05/03/2015 20:03:54
→
05/03 20:57, , 1F
05/03 20:57, 1F
→
05/03 20:57, , 2F
05/03 20:57, 2F
→
05/03 20:58, , 3F
05/03 20:58, 3F
→
05/04 06:27, , 4F
05/04 06:27, 4F
→
05/04 06:28, , 5F
05/04 06:28, 5F
→
05/04 12:18, , 6F
05/04 12:18, 6F
→
05/04 12:19, , 7F
05/04 12:19, 7F
→
05/04 12:19, , 8F
05/04 12:19, 8F
→
05/04 12:19, , 9F
05/04 12:19, 9F
→
05/04 14:43, , 10F
05/04 14:43, 10F
討論串 (同標題文章)
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章