ich einen Datenrahmen df
haben, die wie folgt aussieht:Speichern Sie die Ausgabe einer Schleife in einer Funktion in einen Vektor oder data.frame
structure(list(sequence = c("CSPPPPSPSPHPRPP", "GEGSPTSPTSPKQPG",
"EAGAPAGSGAPPPAD", "PAPPKPKESKEPENA", "AKPKQQDEDPDGAAE", "GDRGGGTGNEDDDYE"
), group = c("BP", "BP", "BP", "BP", "BP", "BP")), .Names = c("sequence",
"group"), row.names = c(NA, -6L), class = c("tbl_df", "tbl",
"data.frame"))
Für alle Zeichenvariablen unter df$sequence
Ich möchte alle bekommen die möglichen Untermengen von 7 Zeichen, die nach jeder Iteration um ein Zeichen nach rechts verschoben werden. Dafür habe ich eine Funktion namens scan_core_OLpeptides
erstellt. Wenn ich die folgende Funktion anwenden:
scan_core_OLpeptides <- function(x) {
for(i in seq_len(nchar(x)-7+1)){
print(str_sub(string = x, start = i, end = i+6))
}}
bekomme ich folgende Ausgabe:
[1] "CSPPPPS" "GEGSPTS" "EAGAPAG" "PAPPKPK" "AKPKQQD" "GDRGGGT"
[1] "SPPPPSP" "EGSPTSP" "AGAPAGS" "APPKPKE" "KPKQQDE" "DRGGGTG"
[1] "PPPPSPS" "GSPTSPT" "GAPAGSG" "PPKPKES" "PKQQDED" "RGGGTGN"
[1] "PPPSPSP" "SPTSPTS" "APAGSGA" "PKPKESK" "KQQDEDP" "GGGTGNE"
[1] "PPSPSPH" "PTSPTSP" "PAGSGAP" "KPKESKE" "QQDEDPD" "GGTGNED"
[1] "PSPSPHP" "TSPTSPK" "AGSGAPP" "PKESKEP" "QDEDPDG" "GTGNEDD"
[1] "SPSPHPR" "SPTSPKQ" "GSGAPPP" "KESKEPE" "DEDPDGA" "TGNEDDD"
[1] "PSPHPRP" "PTSPKQP" "SGAPPPA" "ESKEPEN" "EDPDGAA" "GNEDDDY"
[1] "SPHPRPP" "TSPKQPG" "GAPPPAD" "SKEPENA" "DPDGAAE" "NEDDDYE"
das ist genau das, was ich will. Ich wollte diese Ausgabe jedoch in einem Objekt speichern, vorzugsweise in einem Vektor oder in einem Datenrahmen. Ich dachte über das Speichern in einer Liste nach, aber es hat nicht funktioniert.
Sie können mit ' apply', um es int zu einem Objekt zu bekommen oder ein Objekt in for-Schleife zu erstellen und die Ausgabe an die – akrun
Ich habe versucht, das Objekt zu erstellen und speichern jede Iteration in es, aber es hat nicht funktioniert. – BCArg
Bitte überprüfen Sie die Lösung, die ich unter – akrun