1
거대한 데이터 세트가 있습니다. 데이터는 105000 개의 마커가있는 371 개의 유전자형 (gwas로 시작)으로 구성됩니다. 105000 마커를 사용하여 특정 수학 방정식으로 R의 유전자형 사이에 행렬이 있어야합니다. 다음과 같은 데이터 형식특정 수학 방정식으로 행렬을 만들려면 어떻게해야합니까?
markers gwas_100 gwas_101 gwas_102 gwas_103
S1_147748 NA NA NA NA
S1_239131 0.67385 0.67385 0.67385 0.67385
S1_644966 0.61051 0.61051 0.61051 0.61051
S1_1625764 NA 0.71429 NA 0.71429
S1_1761929 0.69137 0.69137 0.69137 0.69137
S1_1778021 0.72372 0.72372 0.72372 0.72372
S1_1778059 0.72507 0.72507 0.72507 0.72507
S1_1778136 0.68733 0.68733 0.68733 0.68733
S1_1778289 0.69946 0.69946 0.69946 0.69946
S1_1780669 0.73046 0.73046 0.73046 0.73046
S1_1786636 0.71563 0.71563 0.71563 0.71563
S1_1786639 0.71833 0.71833 0.71833 0.71833
S1_1786640 0.71294 0.71294 0.71294 0.71294
S1_1786678 0.71429 0.71429 0.71429 0.71429
S1_1963487 0.72776 0.72776 0.72776 0.72776
S1_2036329 0.74259 0.74259 0.74259 0.74259
S1_2036386 0.74394 0.74394 0.74394 0.74394
S1_2037735 0.7628 0.7628 0.7628 0.7628
S1_2037760 0.7628 0.7628 0.7628 0.7628
S1_2037773 0.7628 0.7628 0.7628 0.7628
S1_2042132 0.58491 NA NA NA
(gwas_100 & gwas_101) = Sum (gwas100) - sum (gwas_101), where
sum gwas_100 = 0.67385 + 0.61051 + 0.69137.....+0.58491)
sum gwas_101 = 0.67385 + 0.61051+ ....... 0.7228), therefore
(gwas_100 & gwas_101) = 13.4905 - 13.61994 = -0.12938
다음 I는 상호간 및 371 개 유전자형 의 모든 가능한 조합 행렬을 얻을 필요가 수학 식 등 일례
gwas_100 gwas101 gwas_102 gwas_103
gwas_100 -0.12 0.14 0.05
gwas_101 0.06 0.1
gwwas_102 0.07
gwas_103
로서
미리 감사드립니다.
감사합니다 당신이 대답 있도록. 나는 또한 복잡한 방정식을 사용하고 싶습니다. 예 : –
감사합니다. 나는 또한 복잡한 방정식을 사용하고 싶습니다. 예를 들어 gwas_100 & gwas_101 = Sum (p1-p2)^2/105854이다. 여기서 P1 및 p2는 하나의 마커에 대한 gwas_100 및 gwas_101의 숫자입니다. 즉, 나는 열 2에서 열 1의 값을 뺀 다음 그 차이를^2 합계로 계산해야합니다. 미리 감사드립니다. 당신의 시간과 노력은 높이 평가됩니다. –
@AhmedSallam 이것은 매우 다른 질문입니다. 그래서 여러분은 전체 계산을 바깥쪽에 두어야합니다. 그러면 성능이 떨어집니다. 다음과 같이 시도 할 수 있습니다 :'outer (names (data [, - 1]), names (data [, -1]), function (x, y) {colSums ((data [, x] -data [, y]) * * 2, na.rm = TRUE)})' – HubertL