1
아래의 두 (샘플) 데이터 집합을 비교하는 과정에서 열마다 일치하는 상관 관계를 찾는 중입니다 (NA는 무시함). 중첩 된 for 루프에서이 작업을 수행 할 수 있다는 것을 알고 있지만이 작업은 프로세스가 너무 느려지므로 data.table에서이 작업을 수행하는 방법이 불확실합니다.두 데이터 집합을 비교하여 상관 관계를 결정합니다.
adf <- structure(c(NA, "CT", NA, "CT", NA, NA, NA, NA, NA, "GG", NA, "CT", NA, "TC", NA, NA, NA, NA, NA, "AG", NA, "TT", NA, "TC", NA, NA, NA, NA, NA, "GG", NA, "CT", NA, "TC", NA, NA, NA, NA, NA, "GG", NA, "CT", NA, "CC", NA, NA, NA, NA, NA, "AG", NA, "CT", NA, "CC", NA, NA, NA, NA, NA, "AG", NA, "TT", NA, "CC", NA, NA, NA, NA, NA, "AG", NA, "CT", NA, "TC", NA, "GG", NA, "CC", NA, "GG", NA, "TT", NA, "TC", NA, "GG", NA, "CC", NA, "AG", NA, "TT", NA, "TT", NA, "GG", NA, NA, NA, "GG"), .Dim = c(10L, 10L), .Dimnames = list( c("7:100014471", "7:100038150", "7:100056646", "7:100079759", "7:100103260", "7:100129337", "7:100145085", "7:100195980", "7:100227528", "7:100256942"), c("100099681", "101666591", "102247652", "102284616", "103582612", "104344528", "105729734", "109897137", "112768301", "114724443")))
tdf <- structure(c(NA, "CC", NA, "CT", NA, NA, NA, NA, NA, "GG", NA, "CT", NA, "TC", NA, NA, NA, NA, NA, "AG", NA, "TT", NA, "TC", NA, NA, NA, NA, NA, "GG", NA, "CT", NA, "TC", NA, NA, NA, NA, NA, "GG", NA, "CT", NA, "CC", NA, NA, NA, NA, NA, "AG", NA, "CT", NA, "CC", NA, NA, NA, NA, NA, "AG", NA, "TT", NA, "CC", NA, NA, NA, NA, NA, "AG", NA, "CT", NA, "TC", NA, "GG", NA, "CC", NA, "GG", NA, "TT", NA, "TC", NA, "GG", NA, "CC", NA, "AG", NA, "TT", NA, "TT", NA, "GG", NA, NA, NA, "GG"), .Dim = c(10L, 10L), .Dimnames = list( c("7:100014471", "7:100038150", "7:100056646", "7:100079759", "7:100103260", "7:100129337", "7:100145085", "7:100195980", "7:100227528", "7:100256942"), c("100099681", "101666591", "102247652", "102284616", "103582612", "104344528", "105729734", "109897137", "112768301", "114724443")))
tdf[1:10, 1:10]
# 100099681 101666591 102247652 102284616 103582612 104344528 105729734 109897137 112768301 114724443
#7:100014471 NA NA NA NA NA NA NA NA NA NA
#7:100038150 "CC" "CT" "TT" "CT" "CT" "CT" "TT" "CT" "TT" "TT"
#7:100056646 NA NA NA NA NA NA NA NA NA NA
#7:100079759 "TC" "TC" "TC" "TC" "CC" "CC" "CC" "TC" "TC" "TT"
#7:100103260 NA NA NA NA NA NA NA NA NA NA
#7:100129337 NA NA NA NA NA NA NA "GG" "GG" "GG"
#7:100145085 NA NA NA NA NA NA NA NA NA NA
#7:100195980 NA NA NA NA NA NA NA "CC" "CC" NA
#7:100227528 NA NA NA NA NA NA NA NA NA NA
#7:100256942 "GG" "AG" "GG" "GG" "AG" "AG" "AG" "GG" "AG" "GG"
adf[1:10, 1:10]
# 100099681 101666591 102247652 102284616 103582612 104344528 105729734 109897137 112768301 114724443
#7:100014471 NA NA NA NA NA NA NA NA NA NA
#7:100038150 "CT" "CT" "TT" "CT" "CT" "CT" "TT" "CT" "TT" "TT"
#7:100056646 NA NA NA NA NA NA NA NA NA NA
#7:100079759 "TC" "TC" "TC" "TC" "CC" "CC" "CC" "TC" "TC" "TT"
#7:100103260 NA NA NA NA NA NA NA NA NA NA
#7:100129337 NA NA NA NA NA NA NA "GG" "GG" "GG"
#7:100145085 NA NA NA NA NA NA NA NA NA NA
#7:100195980 NA NA NA NA NA NA NA "CC" "CC" NA
#7:100227528 NA NA NA NA NA NA NA NA NA NA
#7:100256942 "GG" "AG" "GG" "GG" "AG" "AG" "AG" "GG" "AG" "GG"
내 예상 출력은 다음과 같이이 만 상관 행이 정말 필요한 것,하지만 그림/명확성을 위해 나는 또한 일치/불일치를 추가했습니다.
100099681 101666591 102247652 102284616 103582612 104344528 105729734 109897137 112768301 114724443
matches 2 3 3 3 3 3 3 5 5 5
mismatch 1 0 0 0 0 0 0 0 0 0
cor 0.67 1 1 1 1 1 1 1 1 1