Ich habe den folgenden Code:Wie teile ich ein Vektorelement in zwei Teile auf?
file_list <- list.files(path=folder, pattern="*.txt") ##creates list of all txt. files in folder
file_list
o<- file_list[order(as.numeric(gsub(".+_(\\d+)\\.txt$", "\\1", file_list)))]## orders list in numerical order by ending
r <- sapply(o, FUN = function(x){
df = read.table(x, skip=1) ##x is the file name from list
mean(df$V4)
}) ###takes mean of selected column from entire list and produces below output
dies liefert die folgende Ausgabe:
172010_001_120VC_0.1_1100.txt 3.817672e-07
172010_001_120VC_0.1_1080.txt 3.893099e-07
172010_001_120VC_0.1_1090.txt 4.386539e-07
Wie kann ich die Ausgabe in einen Vektor/Datenrahmen drehen waren x = die letzten Ziffern der Bezeichnung txt-Datei (1100, 1080, 1090 usw.) und y = der numerische Wert (3.817672e-07, 3.893099e-07, 4.386539e-07 usw.)
Die Ausgabe, die Sie zur Verfügung gestellt haben, ist, was ich suche, aber es gibt ungefähr 100 Dateien, gibt es irgendwie, um über Ihre Annäherung zu gehen, ohne sie alle manuell einzugeben? die Länge für alle 100 sind gleich – wiggle
Sie meinen 100 Dateien in der Ausgabe Ihres Codes richtig? –
Das 'vec' sollte die Namen dieser Dateien und den numerischen Wert als eine einzelne Zeichenfolge haben..so dieser Code wird leicht funktionieren. Speichern Sie Ihre Ausgabe in einem Vektor wie ich es getan habe. Wie Sie sagten, werden diese von dem obigen Code ausgegeben. So speichern Sie es einfach in einem Objekt, keine Notwendigkeit, Vektor manuell zu erstellen. Verwenden Sie dieses Objekt in diesem Code, um jedes Element zu teilen. Lassen Sie mich wissen, wenn irgendein Problem. In Ihrem Fall hat das Objekt "r" alle Dateinamen und numerischen Werte, verwenden Sie das Objekt "r" im obigen Skript anstelle von 'vec'. –