Quero calcular a mediana do conjunto de dados do meu mouse (nome do arquivo = teste). Este conjunto de dados é muito grande, então divido o conjunto de dados em vários arquivos (n=5) com este comando:
split -l$((`wc -l < test`/5)) test test.split -da 4
Após esta etapa, agora tenho 5 arquivos test.split0000, test.split0001, test.split0002, test.split0003, test.split0004.
Eu uso o seguinte script para calcular a mediana
#!/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()
Mas agora tenho vários arquivos, então quero executar um único script que funcione junto em todos os arquivos divididos.
Obrigado
Responder1
"A mediana é o ponto médio, central ou intermediário de um grupo de números. Quando você ordena um conjunto de números do menor para o maior, a mediana é o número diretamente no meio. Cinquenta por cento dos valores em um conjunto ocorrem abaixo do mediana e 50% estão acima da mediana."
Portanto, não use R - apenas classifique o arquivo grande, o valor intermediário é o valor mediano.
Responder2
#!/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()