Skip to content

Commit 10dea9e

Browse files
committed
make SimResults output consistent
1 parent d6d78f1 commit 10dea9e

File tree

4 files changed

+23
-13
lines changed

4 files changed

+23
-13
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: SimDesign
22
Title: Structure for Organizing Monte Carlo Simulation Designs
3-
Version: 2.17.4
3+
Version: 2.17.5
44
Authors@R: c(person("Phil", "Chalmers", email = "rphilip.chalmers@gmail.com", role = c("aut", "cre"),
55
comment = c(ORCID="0000-0001-5332-2810")),
66
person("Matthew", "Sigal", role = c("ctb")),

NEWS.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## Changes in SimDesign 2.18
44

5+
- `SimResults()` now gives the same output behavior when `store_results` or
6+
`save_results` are used (see issue #45)
7+
58
- Use of `SimSolve(..., wait.time)` now automatically sets the `maxiter` to
69
3000 to avoid early terminations
710

R/SimResults.R

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,20 @@ SimResults <- function(obj, which, prefix = "results-row", wd = getwd()){
8686
file_nums <- gsub(paste0(prefix, '-'), '', file_nums)
8787
file_nums <- as.numeric(gsub('.rds', '', file_nums))
8888
files <- data.frame(file_nums, files, stringsAsFactors = FALSE)
89-
ret <- vector('list', length(which))
89+
stored_Results_list <- vector('list', length(which))
9090
for(i in seq_len(length(which))){
9191
pick <- which(files$file_num == which[i])
92-
ret[[i]] <- readRDS(files$files[pick])
92+
stored_Results_list[[i]] <- readRDS(files$files[pick])
9393
}
94-
if(length(which) == 1L) ret <- ret[[1]]
95-
ret
94+
design <- SimExtract(obj, 'design')
95+
if(is(stored_Results_list[[1L]]$results, 'data.frame') ||
96+
is(stored_Results_list[[1L]]$results, 'matrix')){
97+
for(i in seq_len(length(stored_Results_list)))
98+
stored_Results_list[[i]] <- cbind(design[i,],
99+
stored_Results_list[[i]]$results, row.names=NULL)
100+
stored_Results_list <- dplyr::bind_rows(stored_Results_list)
101+
stored_Results_list$ID <- NULL
102+
stored_Results_list <- dplyr::as_tibble(stored_Results_list)
103+
}
104+
stored_Results_list
96105
}

man/SimSolve.Rd

Lines changed: 6 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)