2017-07-27 2 views
0

Ich berechnete die genetische Entfernung basierend auf SNP-Genotyp-Daten für meine Genotypen mit provesti distance mit Biss-Funktion. Ich habe diesen folgenden Code für dieseWie schreibe ich genetische Distanzwerte zwischen Genotypen in Csv-Datei mit POPPr-Paket in R?

snpsdist<-bitwise.dist(snps) 
save(snpsdist, ascii=TRUE, file="GPdist.CSV") 
write.table(snpsdist,"bitwise.csv") 

möchte ich meine Abstandswerte wie unten Format, aber ich nicht tun kann, so

  A  B  C  
A  0 
B  0.34 0 
C  0.39 0.45 0 

jemand mir helfen, meine Ergebnisse wie oben Format zu schreiben? jede Hilfe in dieser Hinsicht würde sehr geschätzt werden, Entschuldigung, wenn ich keine Kodierungsstandards in diesem Beitrag befolge Danke und Rücksicht

+0

Bitte geben Sie ein reproduzierbares Beispiel oder nur genügend Informationen an, um zu entziffern, wie Ihre Daten aussehen. Zeigen Sie auch, was Sie versucht haben (aber fehlgeschlagen). Hast du zum Beispiel [diese Frage] gesehen (https://stackoverflow.com/questions/26377199/convert-a-matrix-in-r-into-a-uper-trangular-lower-trangangular-matrix-with-those) ? –

Antwort

0

Ein paar Vorschläge.

Konvertieren Sie die Abstandsmatrix in eine vollständige Matrix. Dies wird das obere Dreieck mit einem Spiegelbild der unteren bevölkern.

m <- as.matrix(dist(c(1, 3, 2, 5))) 
m 
# 1 2 3 4 
# 1 0 2 1 4 
# 2 2 0 1 2 
# 3 1 1 0 3 
# 4 4 2 3 0 

Sie können das obere Dreieck mit den Werten Ihrer Wahl, wie NA ersetzen.

m[upper.tri(m)] <- NA 
m 
# 1 2 3 4 
# 1 0 NA NA NA 
# 2 2 0 NA NA 
# 3 1 1 0 NA 
# 4 4 2 3 0 

Oder Sie können das obere Dreieck durch leere Zeichenfolgen ersetzen. Dies zwingt die Matrix dazu, vom Typ Zeichen zu sein.

m[upper.tri(m)] <- "" 
m 
# 1 2 3 4 
# 1 "0" "" "" "" 
# 2 "2" "0" "" "" 
# 3 "1" "1" "0" "" 
# 4 "4" "2" "3" "0" 

write.csv(m, "m.csv") 

Ob eine dieser Lösungen hängt davon ab, arbeiten, wo Sie planen, die CSV-Datei zu senden (ich nehme an, es durch eine andere Software verwendet werden soll).

+0

Sehr geehrte AkselaBitte finden Sie meine Datei hier https://drive.google.com/drive/my-drive. Das erste Blatt enthält die Ergebnisse, was ich bekommen habe und das 2. Blatt enthält, wie ich meine Ergebnisse haben möchte. Danke im Voraus – user2134713

Verwandte Themen