------------------- R package와 연동하여 Rank normalization 구하기 --------------------------
#file read ./value1/value_div glob.glob import glob import os files = glob.glob('./value1/value_div/*.txt') line_count = 0 #이렇게 읽혀진다. for file in files: print file line_count += 1 _file = file # R 파일을 만들기 header = 'x = read.table('/data/GDSfull/gds_value/'+ _file +'', header=TRUE, sep='\\t')' ar = _file.split('/') footer = 'write.table(w, ''+'/data/GDSfull/gds_value/value1/'+ ar[3] +'', sep='\\t', row.names=FALSE)' sf = open('./R/'+ar[3]+'.R', 'w') sf.write(header) sf.write('\n') sf.write('f<-function(a, b){') sf.write('\n') sf.write(' g <- (a-1)/(b-1)') sf.write('\n') sf.write(' return (g)') sf.write('\n') sf.write('}') sf.write('\n') sf.write('r = rank(x[[3]])') sf.write('\n') sf.write('m = max(r)') sf.write('\n') sf.write('z = cbind(x,r)') sf.write('\n') sf.write('rank_normal = f(r, m)') sf.write('\n') sf.write('w = cbind(z, rank_normal)') sf.write('\n') sf.write(footer) sf.write('\n') # R 실행하기 sf.close() r_script = './R/'+ar[3]+'.R ' log_script = './R/log/'+ar[3]+'.Rout' cmd = 'R CMD BATCH ' + r_script + log_script print cmd os.system(cmd)
'Technology > Programming' 카테고리의 다른 글
jQuery / createElement (0) | 2011.11.17 |
---|---|
Web / 웹 개발 시 조심해야할 것들 (0) | 2011.07.18 |
Python / Divide GDS of GEO into GSM values. (0) | 2011.02.18 |
Python / Python 문자열 다루기 (0) | 2011.01.20 |
Python / 파이썬 이차원배열 (0) | 2011.01.19 |