[R] R Code Execution taking forever

Paul Bernal p@u|bern@|07 @end|ng |rom gm@||@com
Sun Apr 24 08:42:25 CEST 2022


Dear Jim,
Thank you for your kind reply. I am wondering whether it would be a good
idea to just interrupt R’s execution or give it until tomorrow to see if it
finishes running.

At this point (I may be wrong) I think I have asked R for too much.

I wonder whether I may have to use another peogramming language to finish
this project.

At first, I thought it could well be a matter of configuring some system
variables or something along those lines, or simply eliminate some steps in
the code, to see if that could bring significant improve in the
performance, but right now I truly don’t know what to do.

Any tips, workarounds or guidance will be greatly appreciated.

Best,
Paul

El El dom, 24 de abr. de 2022 a la(s) 12:56 a. m., Jim Lemon <
drjimlemon using gmail.com> escribió:

> HI Paul,
> I had a problem a bit like this when trying to implement the Lim-Wolfe
> imputation for ranks. The size of the output matrix increases
> exponentially with the size of the initial matrix and it goes into
> disk-swapping slow motion. It works for small matrices, but rapidly
> runs out of memory. I have planned to insert code to only retain the
> largest maximum to fix this. If I get to it, I'll post the result.
>
> Jim
>
> On Sun, Apr 24, 2022 at 11:01 AM Paul Bernal <paulbernal07 using gmail.com>
> wrote:
> >
> > Dear R friends,
> >
> > Hope you are doing great. The reason why I am contacting you all, is
> > because the code I am sharing with you takes forever. It started running
> at
> > 2:00 AM today, and it's 7:52 PM and is still running (see code at the end
> > of this mail).
> >
> > I am using Rx64  4.1.2, and the code is being executed in RStudio. The
> > RStudio version I am currently using is Version 2022.02.0 Build 443
> > "Prairie Trillium" Release (9f796939, 2022-02-16) for Windows.
> >
> > My PC specs:
> > Processor: Intel(R) Core(TM) i5-10310U CPU @ 1.70 GHz
> > Installed RAM: 16.0 GB (15.6 GB usable)
> > System type: 64-bit operating system, x64-based processor
> > Local Disc(C:) Free Space: 274 GB
> >
> > I am wondering if there is/are a set of system variable(s) or something I
> > could do to improve the performance of the program.
> >
> > It is really odd this code has taken this much (and it is still running).
> >
> > Any help and/or guidance would be greatly appreciated.
> >
> > Best regards,
> > Paul
> >
> >
> >
> >
> > #performing 1,000,000 simulations 10 times
> > num_trials_6 = 1000000
> > dice_rolls_6 = num_trials_6*12
> > num_dice_6 = 1
> > dice_sides_6 = 6
> >
> > prob_frame_6 <- data.frame(matrix(ncol = 10, nrow = 1))
> >
> > k <- 0
> > while(k < 10){
> >   dice_simul_6 = data.frame(dice(rolls = dice_rolls_6, ndice =
> num_dice_6,
> > sides = dice_sides_6, plot.it = FALSE))
> >
> >   #constructing matrix containing results of all dice rolls by month
> >   prob_matrix_6 <- data.frame(matrix(dice_simul_6[,1], ncol = 12, byrow =
> > TRUE))
> >
> >   #naming each column by it's corresponding month name
> >   colnames(prob_matrix_6) <-
> >
> c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
> >
> >
> >   #assigning each person´s name depending on the number showed in the
> dice
> > once rolled
> >   for (i in 1:nrow(prob_matrix_6)){
> >     for (j in 1:ncol(prob_matrix_6)){
> >       if (prob_matrix_6[i,j] == 1){
> >         prob_matrix_6[i,j] = "Alice"
> >       }
> >       if (prob_matrix_6[i,j] == 2){
> >         prob_matrix_6[i,j] = "Bob"
> >       }
> >       if (prob_matrix_6[i,j] == 3){
> >         prob_matrix_6[i,j] = "Charlie"
> >       }
> >       if (prob_matrix_6[i,j] == 4){
> >         prob_matrix_6[i,j] = "Don"
> >       }
> >       if (prob_matrix_6[i,j] == 5){
> >         prob_matrix_6[i,j] = "Ellen"
> >       }
> >       if (prob_matrix_6[i,j] == 6){
> >         prob_matrix_6[i,j] = "Fred"
> >       }
> >
> >     }
> >   }
> >
> >   #calculating column  which will have a 1 if trial was successful and a
> 0
> > otherwise
> >   prob_matrix_6['success'] <- for (i in 1:nrow(prob_matrix_6)){
> >     if (("Alice" %in% prob_matrix_6[i,]) & ("Bob" %in%
> prob_matrix_6[i,]) &
> > ("Charlie" %in% prob_matrix_6[i,]) & ("Don" %in% prob_matrix_6[i,]) &
> > ("Ellen" %in% prob_matrix_6[i,]) & ("Fred" %in% prob_matrix_6[i,])){
> >       prob_matrix_6[i,13] = 1
> >     }else{
> >       prob_matrix_6[i,13] = 0
> >     }
> >   }
> >
> >   #relabeling column v13 so that its new name is success
> >   colnames(prob_matrix_6)[13] <- "success"
> >
> >
> >   #calculating probability of success
> >
> >   p6 = sum(prob_matrix_6$success)/nrow(prob_matrix_6)
> >   prob_frame_6 <- cbind(prob_frame_6, p6)
> >
> >   k = k + 1
> >
> > }
> >
> > prob_frame_6 <- prob_frame_6[11:20]
> > colnames(prob_frame_6) <-
> > c("p1","p2","p3","p4","p5","p6","p7","p8","p9","p10")
> > average_prob_frame_6 <- rowMeans(prob_frame_6)
> > trial_1000000_10_frame <- cbind(prob_frame_6, average_prob_frame_6)
> > final_frame_6 <- trial_1000000_10_frame
> > colnames(final_frame_6) <-
> > c("p1","p2","p3","p4","p5","p6","p7","p8","p9","p10", "avg_prob_frame_5")
> >
> > write.csv(final_frame_6, "OneMillion_Trials_Ten_Times_Results.csv")
> > print(final_frame_6)
> > print(paste("The average probability of success when doing 1,000,000
> trials
> > 10 times is:", average_prob_frame_6))
> >
> >         [[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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list