Skip to contents

Adds the wrangling element to the current data view.

Usage

DW_add_wrangling_element(state, dwb_res, dwee_res)

Arguments

state

DW state from DW_fetch_state()

dwb_res

Output from dwrs_builder()

dwee_res

Output from dw_eval_element() returned by UD_fetch_state().

Value

state with data set attached

Examples

library(formods)
# The example requires a formods DW state object
state  = DW_test_mksession()$state
#> → ASM: including file
#> → ASM:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → ASM:   dest:   file.path("config","report.docx")
#> → ASM: including file
#> → ASM:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → ASM:   dest:   file.path("config","report.pptx")
#> → ASM: including file
#> → ASM:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → ASM:   dest:   file.path("config","report.yaml")
#> → ASM: State initialized
#> → ASM: setting word placeholders: 
#> → ASM:   -> setting docx ph: HEADERLEFT = left header
#> → ASM:   -> setting docx ph: HEADERRIGHT = right header
#> → ASM:   -> setting docx ph: FOOTERLEFT = left footer
#> → ASM: module isgood: TRUE
#> → UD: including file
#> → UD:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → UD:   dest:   file.path("config","report.docx")
#> → UD: including file
#> → UD:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → UD:   dest:   file.path("config","report.pptx")
#> → UD: including file
#> → UD:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → UD:   dest:   file.path("config","report.yaml")
#> → UD: State initialized
#> → UD: module checksum updated:897d952fecbc804999396a96f9df4b20
#> → UD: module isgood: TRUE
#> → DW: including file
#> → DW:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → DW:   dest:   file.path("config","report.docx")
#> → DW: including file
#> → DW:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → DW:   dest:   file.path("config","report.pptx")
#> → DW: including file
#> → DW:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → DW:   dest:   file.path("config","report.yaml")
#> → DW: State initialized
#> → DW: module checksum updated:a9496b622f92f683cc8c69f65ac1ece4
#> → DW: loading data view idx: 1
#> → DW: setting name: Observations
#> → DW: module checksum updated:4d9fd3d913355669d14e0ac710b0b5dc
#> → DW:   -> filter
#> → DW: module checksum updated:2aba88838dee694a3d2813ed9f2837d2
#> → DW:   -> filter
#> → DW: module checksum updated:c181a352a2bd3592494d917b87057086
#> → DW:   -> mutate
#> → DW: module checksum updated:048df4e8afa9494121e72808981c842c
#> → DW: loading data view idx: 2
#> → DW: setting name: PK 3mg SD IV
#> → DW: module checksum updated:c54c6fc20ff13fd14fbb61c786f65078
#> → DW:   -> filter
#> → DW: module checksum updated:496c1149f14ec1c48d4ddbc5aec72a72
#> → DW:   -> filter
#> → DW: module checksum updated:d65a6b3c16bea4262f7fb15a1d961512
#> → DW:   -> filter
#> → DW: module checksum updated:f90816b8f2ef9aeaad82e4a00880e536
#> → DW:   -> filter
#> → DW: module checksum updated:452fc9d9131592650a93b4b49de961d1
#> → DW: loading data view idx: 3
#> → DW: setting name: PK 3mg SD IV (NCA)
#> → DW: module checksum updated:3b177ed09a80dfaf15c9f3dde8b9a8fb
#> → DW:   -> filter
#> → DW: module checksum updated:ce7e35b3bc2e1f53088ae7edd5b4345e
#> → DW:   -> filter
#> → DW: module checksum updated:64a5146d5e7070664557a7ff3d80f6f0
#> → DW:   -> filter
#> → DW: module checksum updated:2cf968d6e72262f9274ea0389f717e84
#> → DW: loading data view idx: 4
#> → DW: setting name: PKPD 3mg SD IV (NCA)
#> → DW: module checksum updated:67e9d6e6b2e085808be155613f8efe20
#> → DW:   -> filter
#> → DW: module checksum updated:a7a211de4eb91c91098a1f20e62bec73
#> → DW:   -> filter
#> → DW: module checksum updated:306f66790aca305ff1b715f34802610e
#> → DW:   -> filter
#> → DW: module checksum updated:306f66790aca305ff1b715f34802610e
#> → DW: module isgood: TRUE
state[["DW"]][["ui"]][["select_dw_element"]]          = "filter"
state[["DW"]][["ui"]][["select_fds_filter_column"]]   = "EVID"
state[["DW"]][["ui"]][["select_fds_filter_operator"]] = "=="
state[["DW"]][["ui"]][["fds_filter_rhs"]]             = 0

# This builds the data wrangling statement based on
# elemets scraped from the UI
dwb_res  = dwrs_builder(state)

# Here we evaluate the resulting command:
dwee_res = dw_eval_element(state, dwb_res[["cmd"]])

# Next we add this wrangling element to the state
state    = DW_add_wrangling_element(state, dwb_res, dwee_res)
#> → DW: module checksum updated:306f66790aca305ff1b715f34802610e

# This creates a new data view and makes it active
state = DW_new_view(state)

# Here we can pluck out that data view from the state
current_view = DW_fetch_current_view(state)

# This will update the key in this view
current_view[["key"]] = "My new view"

# And this will place it back into the state
state = DW_set_current_view(state, current_view)
#> → DW: module checksum updated:0ab95fcc31d9d3ca9b3595984babc650