[R] "for" loop does not work with my plot_ly command

Rachida El Ouaraini e|ou@r@|n| @end|ng |rom gm@||@com
Tue Mar 30 11:29:13 CEST 2021


Hi Jim,
Many thanks for your answer !
I tried what you suggested but it doesn't work.
I've got NO error message, but nothing happens at the end : no graphs !
It seems to me that the command "plot_ly" and the "for" loop DO NOT
coexist, that's why I ask you how to overcome this problem?
Thank you again Dr Jim.

On Tue, Mar 30, 2021 at 4:37 AM Jim Lemon <drjimlemon using gmail.com> wrote:

> Hi Rachida,
> My guess is that you create a vector of filenames:
>
> filenames<-list.files(path="FicConfig",pattern="*.txt")
>
> then use the filenames in the loop:
>
> for(filename in filenames) {
>  nextfile<- read.table(filename, header = TRUE, sep = "\t" , dec =
>  ",", skip = 0)
>  # do whatever you want with the resulting data frame here
>  # or perhaps save it into a list for processing later
> }
>
> Jim
>
> On Tue, Mar 30, 2021 at 2:15 AM Rachida El Ouaraini
> <elouaraini using gmail.com> wrote:
> >
> > Hi everyone,
> > I am new to R programming, and I am having difficulties modifying an R
> > script to introduce the "for" loop in the code.
> > While searching I found that this issue has already been raised, but I
> did
> > not know what to do to fix mine !
> >
> > *The code that works (without for command):*
> >
> > CPM <- read.table("FicConfig/CPM.txt" , header = TRUE, sep = "\t" , dec =
> > ",", skip = 0)
> > # The CPM.txt file containe 1 line
> > ......................................................................
> > ......................................................................
> > options(viewer = NULL)
> > plot_ly() %>%
> >  htmlwidgets::onRender(
> >    "function(el, x) {
> >      var gd = document.getElementById(el.id);
> >      Plotly.downloadImage(gd, {format: 'png', width: 1000, height: 700,
> > filename: 'AnomalieRR_EcartTmoy'});
> >    }"
> >  )%>%
> >  add_trace(x =TAnn[ ,3],  y = TAnn[ ,5], name = "Normale mensuelle de
> > Tmax(en °C)",type = 'scatter', mode = 'markers',  marker = list(size = T,
> > symbol = 'circle',  color = ~TAnn[ ,5], line = list(width= 2, color =
> cl)))
> > %>%
> > add_annotations(text = TAnn[ ,1], x= TAnn[ ,3], y = TAnn[ ,5], font =
> > list(color = "white", size = 14),  showarrow = FALSE)%>%
> >  layout(title = paste("Combinaison anomalie relative annuelle des
> > précipitations et écart annuel à la normale de la température moyenne  à
> > ",CPM[1,1],sep =""),
> >       xaxis = list(title = "Anomalie relative des précipitations
> > annuelles(en %)", tickangle = 20 ,titlefont = list(color= "blue", size=
> 14
> > , family = 'Arial'), tickfont = list(color = "blue", size = 14)),
> > yaxis = list(title = "Ecart à la normale de la température moyenne
> > annuelle(en°C)", titlefont = list(color= "red", size= 14 , family =
> > 'Arial'),
> > tickfont = list(color = "red", size = 14) , showline = TRUE, linecolor =
> > "red", linewidth = 2),
> >    legend = list(x = 0.1, y = -0.3, font=list(size = 14,color=
> > "black")),margin = list(
> >       t = 70,
> >      r = 70,
> >       b = 70,
> >       l = 70
> >     ))
> > *The code that does not work (with for command):*
> > CPM <- read.table("FicConfig/CPM.txt" , header = TRUE, sep = "\t" , dec =
> > ",", skip = 0)
> > # The CPM.txt file containe several lines
> >
> > *for (i in 1: (nrow(CPM)))   {*
> >
> > options(viewer = NULL)
> > plot_ly() %>%
> >  htmlwidgets::onRender(
> >    "function(el, x) {
> >      var gd = document.getElementById(el.id);
> >      Plotly.downloadImage(gd, {format: 'png', width: 1000, height: 700,
> > filename: 'AnomalieRR_EcartTmoy'});
> >    }"
> >  )%>%
> >  add_trace(x =TAnn[ ,3],  y = TAnn[ ,5], name = "Normale mensuelle de
> > Tmax(en °C)",type = 'scatter', mode = 'markers',  marker = list(size = T,
> > symbol = 'circle',  color = ~TAnn[ ,5], line = list(width= 2, color =
> cl)))
> > %>%
> > add_annotations(text = TAnn[ ,1], x= TAnn[ ,3], y = TAnn[ ,5], font =
> > list(color = "white", size = 14),  showarrow = FALSE)%>%
> >   layout(title = paste("Combinaison anomalie relative annuelle des
> > précipitations et écart annuel à la normale de la température moyenne  à
> > ",CPM[i,1],sep =""),
> >       xaxis = list(title = "Anomalie relative des précipitations
> > annuelles(en %)", tickangle = 20 ,titlefont = list(color= "blue", size=
> 14
> > , family = 'Arial'), tickfont = list(color = "blue", size = 14)),
> > yaxis = list(title = "Ecart à la normale de la température moyenne
> > annuelle(en°C)", titlefont = list(color= "red", size= 14 , family =
> > 'Arial'),
> > tickfont = list(color = "red", size = 14) , showline = TRUE, linecolor =
> > "red", linewidth = 2),
> >   legend = list(x = 0.1, y = -0.3, font=list(size = 14,color=
> > "black")),margin = list(
> >       t = 70,
> >      r = 70,
> >       b = 70,
> >       l = 70
> >     ))
> >
> > *file.copy("C:/Users/pc/Downloads/Evolution Tmoy.png",
> > paste("C:/MONOGRAPHIE/Resultats/Evolution Tmoy_",CPM[i,1],".png",sep="")*
> > *}*
> >
> >
> > Thank you very much in advance for any help.
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
>


-- 
*Best Regards, *
*Cordialement, مع أجمل تحياتي *

Rachida EL OUARAINI
Service de la Réalisation des Modèles Appliqués et de la Télédétection
Direction de la Météorologie Nationale du Maroc
*Tél : +212 522 65 48 90*
*Fax: +212 522 91 34 35*

*​"Your attitude, not your aptitude, will determine your altitude." ​Zig
Ziglar*

	[[alternative HTML version deleted]]



More information about the R-help mailing list