Skip to content

Commit da9fb75

Browse files
eli-danielsJanMarvindavidgohel
authored
fix: update dcast usage by making sure all data are preserved
* Return single value in `dcast.data.table()`. Required in `data.table` > 1.5. Fixes #94 Replace use of fun.aggregate argument of dcast with dummy variable in dataset for when x has duplicate values. Method as described here: https://rdatatable.gitlab.io/data.table/reference/rowid.html * doc: Clean up comments old code commented out. * feat: improved version that keeps all of user's data. fix #94 --------- Co-authored-by: Jan Marvin Garbuszus <[email protected]> Co-authored-by: David Gohel <[email protected]>
1 parent 68b3808 commit da9fb75

File tree

5 files changed

+15
-10
lines changed

5 files changed

+15
-10
lines changed

DESCRIPTION

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Package: mschart
22
Type: Package
33
Title: Chart Generation for 'Microsoft Word' and 'Microsoft PowerPoint' Documents
4-
Version: 0.4.0
4+
Version: 0.4.1.001
55
Authors@R: c(
66
person("David", "Gohel", role = c("aut", "cre"),
77
email = "[email protected]"),
@@ -31,6 +31,6 @@ Imports: stats, data.table,
3131
htmltools, utils
3232
URL: https://ardata-fr.github.io/officeverse/, https://ardata-fr.github.io/mschart/
3333
BugReports: https://github.com/ardata-fr/mschart/issues
34-
RoxygenNote: 7.2.2
34+
RoxygenNote: 7.3.1
3535
Roxygen: list(markdown = TRUE)
3636
Suggests: tinytest, doconv

NAMESPACE

+2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ importFrom(cellranger,as.range)
3535
importFrom(cellranger,cell_limits)
3636
importFrom(cellranger,ra_ref)
3737
importFrom(cellranger,to_string)
38+
importFrom(data.table,":=")
39+
importFrom(data.table,.N)
3840
importFrom(data.table,as.data.table)
3941
importFrom(data.table,dcast.data.table)
4042
importFrom(data.table,rbindlist)

NEWS.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# mschart 0.4.1
2+
3+
## Issues
4+
5+
* fix issue with dcast by making sure all data are preserved.
6+
17
# mschart 0.4.0
28

39
## New features

R/excel_series.R

+4-7
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,17 @@ transpose_data <- function(data, vars, group) {
5757
}
5858

5959

60+
#' @importFrom data.table := .N
6061
dcast_data <- function(data, x, y, group) {
6162
dataset <- as.data.table(data)
62-
form_str <- sprintf("%s ~ %s", x, group)
63+
dataset <- dataset[, c(".fake_id.") := list(seq_len(.N)), by = c(x, group)]
64+
form_str <- sprintf("%s + .fake_id. ~ %s", x, group)
6365
out <- dcast.data.table(
6466
dataset,
6567
formula = as.formula(form_str),
66-
fun.aggregate = function(x) {
67-
x
68-
},
6968
fill = NA, value.var = y
7069
)
70+
out$.fake_id. <- NULL
7171
setDF(out)
7272
out
7373
}
@@ -96,9 +96,6 @@ transpose_series_bysplit <- function(x) {
9696

9797

9898

99-
100-
101-
10299
#' @importFrom stats as.formula
103100
#' @importFrom data.table as.data.table dcast.data.table setorderv setnames
104101
shape_as_series <- function(x) {

man/mschart.Rd

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)