Hello, sorry for the delay; I am still having trouble receiving e-mails from the rkward mail group.
Here is what I could do with a brand new installation of Windows 11. Using: rkward-master-2474-windows-cl-msvc2022-x86_64.exe <https://cdn.kde.org/ci-builds/education/rkward/master/windows/rkward-master-2474-windows-cl-msvc2022-x86_64.exe> 2026-03-28 08:59 316M First installed R-4.5.3 for Windows, Then, RKWard installation continued as expected. Here I'll try to show what I found next, commented with "#". # Here is the command for the first session with this message: > No program defined > rk.set.output.html.file("C:/Users/alfon/.rkward/unsaved_output/index.html") > # Quit (restarting) > An unspecified error occurred while running the command. > .libPaths() > .rk.get.package.installation.state () > install.packages (c ("rmarkdown", "R2HTML"), > lib="C:\\Users\\alfon\\AppData\\Local/R/win-library/4.5") > .rk.get.package.installation.state () # Had no crash here. So I loaded a data set to try out. "penguins" <- datasets::penguins # Creating a few descriptive statistics, local({ > > ## Compute > vars <- rk.list (penguins[["body_mass"]]) > results <- data.frame ("Object"=I(names (vars))) > for (i in 1:length (vars)) { > var <- vars[[i]] > # we wrap each single call in a "try" statement to always continue on > errors. > results[i, "mean"] <- try (mean (var, trim = 0.00, na.rm=TRUE)) > results[i, "geometric mean"] <- try (prod (na.omit(var))^(1 / length > (na.omit(var)))) > results[i, "interquantile mean"] <- try (sum(quantile(var, probs=c(0.25), > na.rm=T), quantile(var, probs=c(0.75), na.rm=TRUE)) / 2) > results[i, "harmonic mean"] <- try (1 / mean(1 / na.omit(var))) > results[i, "median"] <- try (median (var, na.rm=TRUE)) > try ({ > range <- try (range (var, na.rm=TRUE)) > results[i, "min"] <- range[1] > results[i, "max"] <- range[2] > }) > results[i, "standard deviation"] <- try (sd (var, na.rm=TRUE)) > results[i, "sum"] <- try (sum (var, na.rm=TRUE)) > results[i, "product"] <- try (prod (var, na.rm=TRUE)) > results[i, "Median Absolute Deviation"] <- try (mad (var, constant = > 1.4628, na.rm=TRUE)) > results[i, "total length (N)"] <- length (var) > results[i, "number of NAs"] <- sum (is.na(var)) > } > ## Print result > rk.header ("Descriptive statistics", parameters=list("Trim of > mean"="0.00")) > rk.header ("Median Absolute Deviation", > parameters=list("Constant"="1.4628", > "Treatment of even sample sizes"="use average"), level=3) > rk.results (results) > }) > > I think the output that was produced is : > local ({ > outfile <- tempfile (fileext='.html') > rk.assign.preview.data("0x1857efd88f0", list (filename=outfile, > on.delete=function (id) { > rkward:::.rk.discard.output(outfile) > })) > oldfile <- rk.set.output.html.file (outfile, style='preview') # for > initialization > rk.set.output.html.file (oldfile) > }) > .rk.with.window.hints ({rk.show.html(rk.get.preview.data > ("0x1857efd88f0")$filename) > }, "", "0x1857efd88f0", style="preview") > Error in rk.set.output.html.file(oldfile) : is.character(x) is not TRUE > local({ > ## Compute > vars <- rk.list (penguins[["body_mass"]]) > results <- data.frame ("Object"=I(names (vars))) > for (i in 1:length (vars)) { > var <- vars[[i]] > # we wrap each single call in a "try" statement to always continue on > errors. > results[i, "mean"] <- try (mean (var, trim = 0.00, na.rm=TRUE)) > results[i, "geometric mean"] <- try (prod (na.omit(var))^(1 / length > (na.omit(var)))) > results[i, "interquantile mean"] <- try (sum(quantile(var, probs=c(0.25), > na.rm=T), quantile(var, probs=c(0.75), na.rm=TRUE)) / 2) > results[i, "harmonic mean"] <- try (1 / mean(1 / na.omit(var))) > results[i, "median"] <- try (median (var, na.rm=TRUE)) > try ({ > range <- try (range (var, na.rm=TRUE)) > results[i, "min"] <- range[1] > results[i, "max"] <- range[2] > }) > results[i, "standard deviation"] <- try (sd (var, na.rm=TRUE)) > results[i, "sum"] <- try (sum (var, na.rm=TRUE)) > results[i, "product"] <- try (prod (var, na.rm=TRUE)) > results[i, "Median Absolute Deviation"] <- try (mad (var, constant = > 1.4628, na.rm=TRUE)) > results[i, "total length (N)"] <- length (var) > results[i, "number of NAs"] <- sum (is.na(var)) > } > ## Print result > rk.header ("Descriptive statistics", parameters=list("Trim of > mean"="0.00")) > rk.header ("Median Absolute Deviation", > parameters=list("Constant"="1.4628", > "Treatment of even sample sizes"="use average"), level=3) > rk.results (results) > }) > .rk.rerun.plugin.link(plugin="rkward::descriptive", > settings="constMad.real=1.4628\nfile.overwrite=0\nfile.selection=C:/Users/alfon/data\ngeo_mean.state=1\ngroups.available=\nharmonic_mean.state=1\ninterquantile_mean.state=1\nlength.state=1\nmad.state=1\nmad_type.string=average\nmean.state=1\nmedian.state=1\nprod.state=1\nrange.state=1\nsave_to_file.state=0\nsd.state=1\nsum.state=1\ntrim.real=0.00\nx.available=penguins[[\\\"body_mass\\\"]]", > label="Run again") > .rk.make.hr() # And an HTML file was created, but it is not an RKWard rko file with a RANDOM name starting with a "file" prefix, so I tried a correlation... > > local({ > ## Compute > # cor requires all objects to be inside the same data.frame. > # Here we construct such a temporary frame from the input variables > data.list <- rk.list (penguins[["flipper_len"]], penguins[["body_mass"]]) > data <- as.data.frame (data.list, check.names=FALSE) > # calculate correlation matrix > result <- cor (data, use="pairwise.complete.obs", method="pearson") > # calculate matrix of probabilities > result.p <- matrix (nrow = length (data), ncol = length (data), > dimnames=list (names (data), names (data))) > for (i in 1:length (data)) { > for (j in i:length (data)) { > if (i != j) { > t <- cor.test (data[[i]], data[[j]], method="pearson") > result.p[i, j] <- t$p.value > result.p[j, i] <- sum (complete.cases (data[[i]], data[[j]])) > } > } > } > ## Print result > rk.header ("Correlation Matrix", parameters=list("Method"="Pearson's > product-moment correlation", > "Exclude missing values"="pairwise")) > rk.results (data.frame (result, check.names=FALSE), titles=c > ("Coefficient", names (data))) > rk.header ("p-values and sample size", level=4) > rk.results (data.frame (result.p, check.names=FALSE), titles=c ("n \\ p", > names (data))) > }) > .rk.rerun.plugin.link(plugin="rkward::corr_matrix", > settings="do_p.state=1\nmethod.string=pearson\nto_numeric.state=0\nuse.string=pairwise\nx.available=penguins[[\\\"flipper_len\\\"]]\\npenguins[[\\\"body_mass\\\"]]", > label="Run again") > .rk.make.hr() # But I didn't see the result, so I tried it once more with a recently created output file: > local({ > ## Compute > # cor requires all objects to be inside the same data.frame. > # Here we construct such a temporary frame from the input variables > data.list <- rk.list (penguins[["bill_len"]], penguins[["body_mass"]]) > data <- as.data.frame (data.list, check.names=FALSE) > # calculate correlation matrix > result <- cor (data, use="pairwise.complete.obs", method="pearson") > # calculate matrix of probabilities > result.p <- matrix (nrow = length (data), ncol = length (data), > dimnames=list (names (data), names (data))) > for (i in 1:length (data)) { > for (j in i:length (data)) { > if (i != j) { > t <- cor.test (data[[i]], data[[j]], method="pearson") > result.p[i, j] <- t$p.value > result.p[j, i] <- sum (complete.cases (data[[i]], data[[j]])) > } > } > } > ## Print result > rk.header ("Correlation Matrix", parameters=list("Method"="Pearson's > product-moment correlation", > "Exclude missing values"="pairwise")) > rk.results (data.frame (result, check.names=FALSE), titles=c > ("Coefficient", names (data))) > rk.header ("p-values and sample size", level=4) > rk.results (data.frame (result.p, check.names=FALSE), titles=c ("n \\ p", > names (data))) > }) > .rk.rerun.plugin.link(plugin="rkward::corr_matrix", > settings="do_p.state=1\nmethod.string=pearson\nto_numeric.state=0\nuse.string=pairwise\nx.available=penguins[[\\\"bill_len\\\"]]\\npenguins[[\\\"body_mass\\\"]]", > label="Run again") > .rk.make.hr() > > # But still nothing. At this point I realized that I had not activated the output file... > rk.set.output.html.file("C:/Users/alfon/.rkward/unsaved_output/index.html") # So tried again: > ## Compute > # cor requires all objects to be inside the same data.frame. > # Here we construct such a temporary frame from the input variables > data.list <- rk.list (penguins[["bill_len"]], penguins[["body_mass"]]) > data <- as.data.frame (data.list, check.names=FALSE) > # calculate correlation matrix > result <- cor (data, use="pairwise.complete.obs", method="pearson") > # calculate matrix of probabilities > result.p <- matrix (nrow = length (data), ncol = length (data), > dimnames=list (names (data), names (data))) > for (i in 1:length (data)) { > for (j in i:length (data)) { > if (i != j) { > t <- cor.test (data[[i]], data[[j]], method="pearson") > result.p[i, j] <- t$p.value > result.p[j, i] <- sum (complete.cases (data[[i]], data[[j]])) > } > } > } > ## Print result > rk.header ("Correlation Matrix", parameters=list("Method"="Pearson's > product-moment correlation", > "Exclude missing values"="pairwise")) > rk.results (data.frame (result, check.names=FALSE), titles=c > ("Coefficient", names (data))) > rk.header ("p-values and sample size", level=4) > rk.results (data.frame (result.p, check.names=FALSE), titles=c ("n \\ p", > names (data))) > }) > .rk.rerun.plugin.link(plugin="rkward::corr_matrix", > settings="do_p.state=1\nmethod.string=pearson\nto_numeric.state=0\nuse.string=pairwise\nx.available=penguins[[\\\"bill_len\\\"]]\\npenguins[[\\\"body_mass\\\"]]", > label="Run again") > .rk.make.hr() # So it worked. At last tried out the descriptive dialog, and now it was appended correctly within the rko file. local({ ## Compute vars <- rk.list (penguins[["body_mass"]]) results <- data.frame ("Object"=I(names (vars))) for (i in 1:length (vars)) { var <- vars[[i]] # we wrap each single call in a "try" statement to always continue on errors. results[i, "mean"] <- try (mean (var, trim = 0.00, na.rm=TRUE)) results[i, "geometric mean"] <- try (prod (na.omit(var))^(1 / length (na.omit(var)))) results[i, "interquantile mean"] <- try (sum(quantile(var, probs=c(0.25), na.rm=T), quantile(var, probs=c(0.75), na.rm=TRUE)) / 2) results[i, "harmonic mean"] <- try (1 / mean(1 / na.omit(var))) results[i, "median"] <- try (median (var, na.rm=TRUE)) try ({ range <- try (range (var, na.rm=TRUE)) results[i, "min"] <- range[1] results[i, "max"] <- range[2] }) results[i, "standard deviation"] <- try (sd (var, na.rm=TRUE)) results[i, "sum"] <- try (sum (var, na.rm=TRUE)) results[i, "product"] <- try (prod (var, na.rm=TRUE)) results[i, "Median Absolute Deviation"] <- try (mad (var, constant = 1.4628, na.rm=TRUE)) results[i, "total length (N)"] <- length (var) results[i, "number of NAs"] <- sum (is.na(var)) } ## Print result rk.header ("Descriptive statistics", parameters=list("Trim of mean"="0.00")) rk.header ("Median Absolute Deviation", parameters=list("Constant"="1.4628", "Treatment of even sample sizes"="use average"), level=3) rk.results (results) }) .rk.rerun.plugin.link(plugin="rkward::descriptive", settings="constMad.real=1.4628\nfile.overwrite=0\nfile.selection=C:/Users/alfon/data\ngeo_mean.state=1\ngroups.available=\nharmonic_mean.state=1\ninterquantile_mean.state=1\nlength.state=1\nmad.state=1\nmad_type.string=average\nmean.state=1\nmedian.state=1\nprod.state=1\nrange.state=1\nsave_to_file.state=0\nsd.state=1\nsum.state=1\ntrim.real=0.00\nx.available=penguins[[\\\"body_mass\\\"]]", label="Run again") .rk.make.hr() In this version, it did not crash, at least with these commands, but had to create and activate the output file. I hope this helps. Regards, Alfonso ------------------------------ Hi, Am Wed, 25 Mar 2026 13:41:51 -0600 schrieb DES Alfonso Cano Robles <alfonsociologo at gmail.com <https://mail.kde.org/cgi-bin/mailman/listinfo/rkward>>: >* I just wanted to let you know that I've found three bugs that cause the *>* program to crash. *>* * The first occurs when the data editor window is split. *>* * The second happens when saving the RData file. *>* * The third occurs when trying to execute a command that requires creating *>* a new output file. * Thanks for reporting! I've fixed the first one in master. Updated builds should appear in the usual place, shortly. I could not immediately reproduce the latter. Can you pinpoint more exactly, what conditions might be required to trigger it? When starting with a fresh session, what are the exact steps needed to reproduce? Conceivably, however, this was caused by the same underlying issue, and as the first, so with a bit of luck might be fixed. I'll investigate the third. Some first quick checks seem to indicate, this happens when opening an output file that has not yet been initialized. I.e.: x <- rk.output(create=TRUE) x$activate() x$view() does not crash. However, a crash occurs, if x$activate() is omitted. Regards Thomas El mié, 25 mar 2026 a la(s) 1:41 p.m., DES Alfonso Cano Robles ( [email protected]) escribió: > I hope you're all doing well. > > I just wanted to let you know that I've found three bugs that cause the > program to crash. > * The first occurs when the data editor window is split. > * The second happens when saving the RData file. > * The third occurs when trying to execute a command that requires creating > a new output file. > > This is the appimage version I have been using. > > ``` > URL ' > https://cdn.kde.org/ci-builds/education/rkward/master/linux/rkward-master-2428-linux-gcc-x86_64.AppImage > ' > Content type 'unknown' length 400685560 bytes (382.1 MB) > ================================================== > downloaded 382.1 MB > ``` > > This is also happening on Windows installations. > > Any help to avoid this (workarroung) is much appreciated. > > Thanks > > I have attached a few frontend and backend files; I hope they help. > > Regards > > Alfonso > > -- Dr. Alfonso Cano Robles ORCID ID: https://orcid.org/0000-0002-9496-2301
-- RKWard mailing list [email protected] https://mail.kde.org/cgi-bin/mailman/listinfo/rkward
