fcase drops dim attribute
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
Research direction
Start with the fcase behavior shown in the reproducible example using an xts object, and inspect how its class and attributes are preserved. Verify the result for zoo and xts inputs, then confirm that fcase either retains a one-column matrix or returns a classless vector rather than a non-matrix xts object.
Written by the indexing model from the issue text.
Description
thank you for the fix to #6480. it mostly works great, but has introduced a weird scenario, where the result thinks its an xts object, but is not a matrix. as xts is an indexed matrix, this should never happen, and the result is now breaking subsequent code. this issue really applies to all zoo objects, not just xts
if fcase kept the ouput as a 1 column matrix, matching what was passed in, this works would be fine (suspect this may break other code)
if fcase returned a vector stripping the class and attributes, this would also be usable
returning this hybrid output (non matrix xts) is problematic
cc @joshuaulrich
MRE:
library(xts)
d <- xts(matrix(runif(4000, 0, 100), ncol = 4), order.by = Sys.Date() + (1:1000))
r <- data.table::fcase(d[,1] > d[,4], d[,2], default = (d[,2] + d[,3]) / 2)
class(r)
#[1] "xts" "zoo"
is.matrix(r)
#[1] FALSE
#data.table_1.16.2
- Dominant language
- R
- Stars
- 3.9k
- Forks
- 1.1k
- Avg merge
- 14h 4m
- Merged PRs (30d)
- 4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Rdatatable/data.table
-
as.data.table() recurses without end on a survival::Surv object (or any data.frame carrying one) Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Rdatatable/data.table#7887 ·
-
consistency tests
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Rdatatable/data.table#7853 · 3 comments ·
-
internals
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Rdatatable/data.table#6938 · 1 comment ·
-
encoding fread
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Rdatatable/data.table#5179 · 8 comments ·
-
documentation programming
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Rdatatable/data.table#3199 · 3 comments ·
All issues in Rdatatable/data.table
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
r-lib/pkgdepends#485 · 3 comments ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
beginners blocker
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enviPathR OpenBuild Error Build OK Build Warning policies-accepted pre-review precheck-passed
Difficulty 1/5 Under an hour Newbie friendliness 84/100
Bioconductor/BiocContributions#207 · 6 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
datacarpentry/semester-biology#1255 ·