원하는 것을 질문하는 것이 약간 어렵지만 뭔가 해독 할 수 있었다면 2X400 행렬의 열에서 2X2 행렬 조합을 만들고 싶다고 생각합니다.
그래서 79800 개의 조합이 있습니까? 나는 생각한다.
choose(400,2) = 79800
나는 fisher.test 난에 대한 생각, j는 그래서, 나는 = j는 훨씬 이해가되지 않습니다
내가 기능을 수행하여 시작할 것
난, J과 동일하며 :
alelos = function(i,j){
alleys= matrix(c(df[,i],df[,j]),nrow=2,byrow=F)
#df is the 2X400 matrix, called data in the question
return(fisher.test(alleys)$p.value)
}
그런 다음 (i in 1 : 400) 및 잠시 동안 루프를 사용해보십시오. 그 결과로 삼각형 행렬을 만드는 것. 예를 들면 다음과 같습니다.
10 개의 벡터로 구성된 예제를 제공합니다. 400
set.seed(4)
df= matrix(c(sample(1:100,10,replace=T),sample(1:100,10,replace=T)),nrow=2)
resultmatrix = matrix(0,10,10)
#or 10x9 if you prefer
for(i in 10:1){
j=1
while(i > j){
resultmatrix[i,j]= alelos(i,j)
j=j+1
}
}
(1) 철자'p.value' 아닌 'p.valeu'이기
똑같은 동작한다. (2) 두 번째 발췌 문장에서도 구문이 틀립니다. 그것을 얻으려면''에 대해'? '를보십시오. (3) 예제 데이터가 없으면 많은 것을 할 수 없습니다. 그 밖의 다른 질문을보고 어떻게 완료되었는지 확인하십시오. 감사! –