R 反应式数据、转换和覆盖
我是R Shining的新手,而且我在反应式数据集方面遇到了一些问题 我的想法是,加载数据集,对其进行一些计算,打印结果。如果我将数据集设置为R 反应式数据、转换和覆盖,r,shiny,R,Shiny,我是R Shining的新手,而且我在反应式数据集方面遇到了一些问题 我的想法是,加载数据集,对其进行一些计算,打印结果。如果我将数据集设置为 df是我自己做的 server <- function(input, output) { vals <- reactiveValues() ## Create a reactive value dataset vals$mt <- data.frame(mtcars) ## Create a transforme
df是我自己做的
server <- function(input, output) {
vals <- reactiveValues()
## Create a reactive value dataset
vals$mt <- data.frame(mtcars)
## Create a transformed set out of it
mt_transformed <- reactive({
df <- vals$mt
mt_transformed <- data.frame(tapply(df$hp, df$cyl, mean),
names(tapply(df$hp, df$cyl, mean)))
names(mt_transformed) <- c("hp", "cyl")
return( mt_transformed)
})
## Transform the initial dataset, via deleting the last row
observeEvent(input$delete, {
vals$mt <- vals$mt[-nrow(vals$mt),]
})
## lets hope the plot changes everytime I delete a car
output$plot <- renderPlot({
ggplot(mt_transformed()) +
geom_bar( aes(x = cyl, y = hp ), stat = "identity" )
})
}
服务器
library(shiny)
library(ggplot2)
ui <- fluidPage(
actionButton(inputId = "delete", label = "destroy car"),
plotOutput("plot")
)
server <- function(input, output) {
vals <- reactiveValues()
## Create a reactive value dataset
vals$mt <- data.frame(mtcars)
## Create a transformed set out of it
mt_transformed <- reactive({
df <- vals$mt
mt_transformed <- data.frame(tapply(df$hp, df$cyl, mean),
names(tapply(df$hp, df$cyl, mean)))
names(mt_transformed) <- c("hp", "cyl")
return( mt_transformed)
})
## Transform the initial dataset, via deleting the last row
observeEvent(input$delete, {
vals$mt <- vals$mt[-nrow(vals$mt),]
})
## lets hope the plot changes everytime I delete a car
output$plot <- renderPlot({
ggplot(mt_transformed()) +
geom_bar( aes(x = cyl, y = hp ), stat = "identity" )
})
}