So berechnen Sie den Median für mehrere geteilte Dateien, die aus einer großen Datei generiert wurden

So berechnen Sie den Median für mehrere geteilte Dateien, die aus einer großen Datei generiert wurden

Ich möchte den Median für meinen Mausdatensatz (Dateiname = Test) berechnen. Dieser Datensatz ist sehr groß, daher teile ich den Datensatz mit diesem Befehl in mehrere Dateien (n=5) auf:

 split -l$((`wc -l < test`/5)) test test.split -da 4

Nach diesem Schritt habe ich jetzt 5 Dateien test.split0000, test.split0001, test.split0002, test.split0003, test.split0004.

Ich verwende das folgende Skript zur Berechnung des Medians

#!/usr/bin/R

data <- read.table("Input_file", row.names=1, header=T)

M <- apply(data, 1, median) 

write.table(M, "Final_median_mousegene", quote=FALSE, sep="\t", row.names=TRUE)

q()

Da ich jetzt aber mehrere Dateien habe, möchte ich ein einzelnes Skript ausführen, das alle aufgeteilten Dateien gemeinsam bearbeitet.

Danke

Antwort1

„Der Median ist die Mitte, der Mittelpunkt oder der Mittelpunkt einer Zahlengruppe. Wenn Sie eine Reihe von Zahlen vom niedrigsten bis zum höchsten Wert ordnen, ist der Median die Zahl direkt in der Mitte. Fünfzig Prozent der Werte in einer Reihe liegen unter dem Median und 50 Prozent über dem Median.“

Verwenden Sie also nicht R – sortieren Sie nur die große Datei, der Wert in der Mitte ist der Medianwert.

Antwort2

 #!/usr/bin/R

 files <- list.files(pattern = "test.split*")

 for (i in 1:length(files)){
 data <- read.table(files[i], header=F, row.names = 1)
 M <- apply(data, 1, median) 
 write.table(M, paste0("Median_", files[i]), quote=FALSE, sep="\t", 
 row.names=TRUE)
 }
q()

verwandte Informationen