staticsRだと遅いので

結局perlで集計してテーブルを作ってから、その後に一気にRに読み込ませて計算させると速いことが分かった。
メモしとくと
text <- read.table("/bioinfo/R/macrobox/short.data")

for (i in 1:150) {
if(i %% 2 != 0){ #奇数行はコメント扱いでプリント

print(text[i,])
}
if(i %% 2 == 0){ #偶数行はFisherにまわす
a <- scan("/bioinfo/R/macrobox/short.data", skip=i-1, nlines=1)
dim(a) <- c(2,2)
print(a)
print(fisher.test(a))
# a=0
# print(a)
}
}

short.dataは
000359 vs 000364 1vs1
1 3 4 6
みたいな「コメント行」「データ行」が延々と続く形。