2012-05-25 4 views
0

그래서 12 개의 이진 파일 객체를 생성했습니다. 내가하고 싶은 분석의 일부로, 12 중 하나를 다른 11과 비교하여 함수를 사용하여 일부 분석을 수행합니다.하나의 객체 항목을 반복적으로 나머지 부분과 비교하여 자동으로 비교합니다.

즉 루프 하나

오브젝트 $ 1 2시 12분 비교 $ 1 개체,

루프 두 개체에 대한 $ 2 개체 $ 1,3 : 12

...

루프 12, 개체 $ 12에 대한 개체 $ 1 [1:11]

파일 이름을 지정하여 수동으로 소규모로 할 수 있습니다. 그러나 12 개 파일을 서로 비교하는 작업이 포함되어 있으며 12 개의 파일 그룹 (총 250 개 파일)을 사용하여 작업 할 수 있습니다. 어떻게 자동화합니까?

최종 출력은 데이터 프레임이므로 개체 루프 $ 1.csv와 같은 관련 파일 이름을 사용하여 각 루프에서 생성해야합니다.

firstbatch <-bams[1:12] #bams is character vector of the files 
bedfile <- "filename.bed" 
my.counts <- getBamCounts(bed.file = bedfile, bam.files = firstbatch) #creates object 
my.test <- firstbatch$1 
my.ref.samples <- firstbatch$2...firstbatch$12 
series of functions comparing $1 against 2:12 

답변

1

어쩌면 당신이 절차 추운 사용 :

a <- combn(12,2) # will give you all possible combinations 

for (i in 1:dim(a)[2]) {  #loops over all possible combinations 

firstbatch[ a [1,i]] # first sample name to compare 
firstbatch[ a [2,i]] # second sample name to compare against 
... 
} 
+0

아니, 정확히 내가 원하는 게 아니에요. 이는 "a"를 모든 쌍으로 된 조합으로 정의합니다. 나가 얻는 것을 시도하고있는 무엇이 세트로 함께 11와 함께, 11에 대하여 다만 1 개의 파일이기 때문에 더 작은 세트이다. – cianius

관련 문제