Ich denke, das sollte einfach sein, aber ich kann kein anderes Beispiel finden, das für meine Zwecke funktioniert. Ich habe viele DNA-Sequenzen in 1 Spalte in R, aber ich möchte sie in viele Spalten mit 1 Basenpaar pro Spalte aufteilen. Zum Beispiel:
V$1
ggggcc
cccctt
tttttt
aaaaaa
Ich möchte, dass es so aussieht
V$1 V$2 V$3 V$4 V$5 V$6
g g g g c c
c c c c t t
t t t t t t
a a a a a a
Ich habe versucht
paste(L1HS2, collapse = "")
unlist(strsplit(L1HS2, split = ""))
und
data.frame(str_split_fixed(L1HS2, "", max(nchar(L1HS2))))
Aber ich verliere die Datenrahmenstruktur und habe am Ende eine sehr lange Zeile mit vielen Spalten. Das muss einfach sein, oder?
Lösung des Problems
Du könntest benutzen
data.frame(Reduce(rbind, strsplit(df$V1, "")))
Dies kehrt zurück
X1 X2 X3 X4 X5 X6
init g g g g c c
X c c c c t t
X.1 t t t t t t
X.2 a a a a a a
oder
data.frame(do.call(rbind, strsplit(df$V1, "")))
die zurückkehrt
X1 X2 X3 X4 X5 X6
1 g g g g c c
2 c c c c t t
3 t t t t t t
4 a a a a a a
Keine Kommentare:
Kommentar veröffentlichen