I have a table like this:
chr start end con1_1_1 con1_2_1 con1_3_1 con2_1_4 con2_2_4 con2_3_4
1 1 1 7512 0.45180723 0.21982759 0.06666667 0.4105960 0.1024735 0.2284710
2 1 13169 20070 0.07142857 0.77631579 0.90434783 0.1363636 0.8985507 0.6033058
3 1 36598 37518 0.13750000 0.43300248 0.09113300 0.9612403 0.1233596 0.7459016
4 1 37512 40365 0.64940239 0.95954693 0.46091644 0.7251656 0.1325648 0.4121901
5 1 40359 48801 0.09504132 0.96491228 0.15428571 0.6388889 0.5165165 0.8050847
6 1 77084 83129 0.91773779 0.28978224 0.56115108 0.9587302 0.5469256 0.6995614
My data are in 2 conditions with 3 replications in each condition. I would like for each row to run a Kruskal-Wallis rank sum test, which means that in each row the con1 (with 3 values) will be tested with con2 (with 3 values). This is what I tried to do but I don't know if it works correctly and if the selection is right.
for (j in 1:len) {
data=newdata[len,]
flabel<-factor(c(rep("con1",3),rep("con2",3)))
data1=c(data[,4],data[,5],data[,6],data[,7],data[,8],data[,9])
datav=data.frame(flabel,data1)
test=kruskal.test(data1 ~ flabel, data = datav)
print(test$p.value)
}
Do you know any faster or more elegant way to do the test for each row?