mwSharedValue {manipulateWidget} | R Documentation |
This function creates a virtual input that can be used to store a dynamic shared variable that is accessible in inputs as well as in output.
mwSharedValue(expr = NULL)
expr |
Expression used to compute the value of the input. |
An Input object of type "sharedValue".
Other controls: mwCheckboxGroup
,
mwCheckbox
, mwDateRange
,
mwDate
, mwGroup
,
mwNumeric
, mwPassword
,
mwRadio
, mwSelectize
,
mwSelect
, mwSlider
,
mwText
if (require(plotly)) { # Plot the characteristics of a car and compare with the average values for # cars with same number of cylinders. # The shared variable 'subsetCars' is used to avoid subsetting multiple times # the data: this value is updated only when input 'cylinders' changes. colMax <- apply(mtcars, 2, max) plotCar <- function(cardata, carName) { carValues <- unlist(cardata[carName, ]) carValuesRel <- carValues / colMax avgValues <- round(colMeans(cardata), 2) avgValuesRel <- avgValues / colMax plot_ly() %>% add_bars(x = names(cardata), y = carValuesRel, text = carValues, hoverinfo = c("x+text"), name = carName) %>% add_bars(x = names(cardata), y = avgValuesRel, text = avgValues, hoverinfo = c("x+text"), name = "average") %>% layout(barmode = 'group') } c <- manipulateWidget( plotCar(subsetCars, car), cylinders = mwSelect(c("4", "6", "8")), subsetCars = mwSharedValue(subset(mtcars, cylinders == cyl)), car = mwSelect(choices = row.names(subsetCars)) ) }