diff abims_acp.r @ 0:79c7fdc90ed6 draft default tip

Uploaded
author lecorguille
date Tue, 30 Jun 2015 06:38:09 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/abims_acp.r	Tue Jun 30 06:38:09 2015 -0400
@@ -0,0 +1,46 @@
+#!/usr/local/public/bin/Rscript
+# abims_acp.r version="1.1"
+
+# date: 04-06-2013
+# **Authors** Gildas Le Corguille  ABiMS - UPMC/CNRS - Station Biologique de Roscoff - gildas.lecorguille|at|sb-roscoff.fr 
+
+
+
+#function PCA from package FactoMineR 
+
+library(batch)
+library(FactoMineR)
+
+acp_metabolomics=function(file ,graph=FALSE, scale.unit=TRUE, sep=";", dec="."){
+
+    if (sep=="tabulation") sep="\t"
+    if (sep=="semicolon") sep=";"
+    if (sep=="comma") sep=","
+    
+    # -- loading --
+    data=read.table(file, header = TRUE, row.names=1, sep = sep, quote="\"", dec = dec,
+		    fill = TRUE, comment.char="",na.strings = "NA")
+    
+    # -- acp / output pdf --
+    resPCA =PCA(t(data),graph=graph, scale.unit=scale.unit)
+    # scale.unit=F : on réalise l'ACP sans la réduction des variables
+    # graph=F : pas de sortie graphique
+    dev.off() #close plot
+    dev.off()
+
+    # -- output png --
+    # Percentage of variance
+    png("percentage_of_variance.png", width =800, height = 400);
+    barplot(resPCA$eig$per,xlab="Components",ylab="percentage of variance");
+    dev.off()
+    
+    png("eigenvalue.png", width =800, height = 400);
+    barplot(resPCA$eig$eig,xlab="Components",ylab="eigenvalue");
+    dev.off()
+    
+    # -- output / return --
+    system("zip -r acp.zip percentage_of_variance.png eigenvalue.png Rplots*.pdf", ignore.stdout = TRUE)
+}
+
+listArguments = parseCommandArgs(evaluate=FALSE)
+do.call(acp_metabolomics, listArguments)