도와주세요! 행렬의 해체/행렬의 재정렬
는 I 큰 매트릭스를 가지고 있고 데이터를 재 배열하고 싶은 (또는 난 martix의 해체를 호출한다?)M1 M2 M3 M4
L1 "AA" "--" "GG" "CC"
L2 "AG" "CC" "--" "AA"
L3 "GG" "CG" "TT" "TT"
L4 "--" "GG" "CC" "TT"
L5 "AA" "--" "AA" "CC"
L6 "AT" "CC" "CT" "AA"
L7 "TT" "CG" "TA" "CC"
샘플 데이터는 I 재정렬해야
test <- matrix(c("AA", "AG", "GG", "--","AA", "AT", "TT", "--","CC", "CG", "GG", "--","CC", "CG", "GG", "--","TT","CC","AA","CT","TA","CC","AA","TT","TT","CC","AA","CC"),nrow=7)
row.names(test)= c("L1", "L2", "L3", "L4", "L5", "L6", "L7")
colnames(test)= c("M1", "M2", "M3", "M4")
인 다음 형식으로 데이터를 가져옵니다.
Line Marker testx
L1 M1 AA
L1 M2 --
L1 M3 GG
L1 M4 CC
L2 M1 AG
L2 M2 CC
L2 M3 --
L2 M4 AA
L3 M1 GG
L3 M2 CG
L3 M3 TT
L3 M4 TT
.
.
.
긴 솔루션이 있지만 (아래 참조) 큰 데이터 세트를 처리하는 것은 어렵습니다. 제발 도와주세요! 내가 생각할 수있는
testx<-c(test)
testx1<-data.frame(testx)
testx2<-cbind(Line = c("L1","L2","L3","L4","L5","L6","L7"), testx1)
testx3<-testx2[order(testx2$Line),]
testx4<-cbind(Marker = c("M1","M2","M3","M4"), testx3)
testx5 <- testx4[,c("Line", "Marker", "testx")]
이러한 경우의 일반적인 접근 방식은'as.data.frame (as.table (test))'입니다. 값이있는 열이 "숫자"일 때 정확한 반대 인 'xtabs'도 매우 유용합니다. –