Bonjour,
débutant en R je me doute que ce que je veux faire dois être très simple... Mais je n'ai pas réussi à trouver de solution.
J'ai un fichier qui ressemble à ça:
je souhaite calculer les variances de chaque "Minc" dans les différentes conditions: 1 ligne = 1 variance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 tracking_id ANS_A ANW_A ANW_B ANW_C ANW_D ANW_F ANW_G ANW_I ANW_K Minc3s00001g00001 0 0.392696953259666 0 0.285557309007774 0 0.76715586608218 0.614897216033135 0.471291711058939 1.02694162795903 Minc3s00001g00002 1.78411781646292 1.98376156028616 1.55930801090701 1.84806589540399 1.82898195400792 1.61836193110988 1.57795112772975 1.54082981411108 1.53249958609466 Minc3s00001g00003 2.15654915133178 1.71079409993033 1.18695633546541 2.11958577496178 1.34183005692051 1.78017324364259 1.42813479402879 2.01102035551626 1.76760106805034
Puis je souhaite ajouter un test afin d'éliminer les variances que je considère trop faibles pour récupérer les variances qui m'intéressent, je souhaite donc récupérer en output un fichier qui ressemble à celui que je donne en input mais avec les lignes qui ne m'intéressent pas en moins...
Voici mon code
Le problème étant que je n'arrive à sortir mes données au format souhaité... pour si possible les réécrire dans un nouveau fichier txt (et conserver le format du fichier initial).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Coeff_Var <- function(x){ (sd(x)/mean(x))*100 } mon_fichier <- file(description = "/calcul/log(FPKM+1)_filtré.txt", open = "rw", blocking = TRUE) mydata2 <- read.table("/calcul/tab_fpkm+1.txt",sep="\t", header = T, as.is=TRUE) nb_row<-nrow(mydata2) i<-1 x <- c(1, 6, 3, 4, 9, 6) print(var (x)) n<-0 tab_var<- while (i<nb_row){ mydata <- as.numeric(mydata2[i,2:10]) i<-i+1 var_test <- var (mydata) if(var_test>0.05){ print (mydata) #~ writeLines(mydata, con = "/calcul/log(FPKM+1)_filtré.txt", sep = "\n", useBytes = FALSE) #~ writeLines(mydata, con = mon_fichier, sep = "\n", useBytes = FALSE) cat(file = "/calcul/log(FPKM+1)_filtré.txt", sep = " ", fill = TRUE, labels = NULL, append = FALSE) n<-n+1 resultat <- write.table(mydata) } #print(Coeff_Var(x=mydata)) } print(n) print(resultat)
Merci à vous pour votre aide
ps : si un post existe déjà je ne l'ai pas trouvé...
Partager