Hi all, I wanted to use the Fisher Yates permutation method to randomise this data set 10 times:
ID Sub1 Sub2 Sub3 Sub4
Creb 3.1 10.14 9.67 10.14
Chchd6 11.25 10.74 10.80 11.07
Arih1 9.91 9.25 10.20 9.34
Prpf8 11.54 11.58 11.14 11.36
Rfng 11.71 11.56 10.81 10.72
Rnf114 12.66 12.60 12.59 12.56
I originally wanted to write the code in python, and I tried writing various bits of code that would make 10 output files, each with one randomisation of the data using the Fisher Yates permutation method. One example of code I tried to write is below (in this case, just trying to print out each randomisation set to screen, followed by *, then I'll work out writing it to a file after):
import sys
import itertools
from itertools import permutations
for i in range(10):
for line in open(sys.argv[1]).readlines()[2:]:
line = line.strip().split()
gene_name = line[0]
expression_values = line[1:]
for shuffle in permutations(expression_values):
print shuffle[:6]
print "***"
i +=1
Basically this, and all variants of this, are failing, and I just don't understand how to do it. I'm wondering if anyone knows of an alternative way of doing a fisher yates model to produce 10 randomisations of the data set? I couldn't seem to find an R package? Thanks.
Why do you want to use the Fisher Yates permutation instead of a standard permutation out of interest?