R:从所选输入获取总和

R:从所选输入获取总和,r,shiny,shinydashboard,R,Shiny,Shinydashboard,我对R相对来说是新手,我试图自己学习 我想在一个闪亮的仪表板中创建一个选择字段,在这里我可以选择我的数据(.xls)的乘积并获得返回的总和 通过selectInput和selectize进行输入。这是有效的部分:) 如果我选择一种产品,我会得到这个产品的卡路里…到目前为止 我的问题是,我想选择更多的产品,然后1,并得到热量的总和。我必须如何识别/搜索表中输入字段的乘积,以及如何获取其总和 非常感谢你的帮助 PS:您需要关于文件的更多信息吗?只有两列是重要的:产品和卡路里 library(dply

我对R相对来说是新手,我试图自己学习

我想在一个闪亮的仪表板中创建一个选择字段,在这里我可以选择我的数据(.xls)的乘积并获得返回的总和

通过selectInput和selectize进行输入。这是有效的部分:)

如果我选择一种产品,我会得到这个产品的卡路里…到目前为止

我的问题是,我想选择更多的产品,然后1,并得到热量的总和。我必须如何识别/搜索表中输入字段的乘积,以及如何获取其总和

非常感谢你的帮助

PS:您需要关于文件的更多信息吗?只有两列是重要的:产品和卡路里

library(dplyr)
library(plotly)
library(readxl)
library(shiny)
library(shinydashboard)

# Daten einlesen
McDaten <- read_excel("~/Desktop/McDaten.xlsx")
McDaten$kcal <- McDaten$`kcal (100g)`

ui <- dashboardPage(
skin="red",
dashboardHeader(title = "Analytics Dashboard", titleWidth = 290),
dashboardSidebar(
width = 290,
sidebarMenu(
  menuItem("Virtuelles Menü", tabName = "charts", icon = icon("cutlery"))

)
  ),

  dashboardBody(


tabItems(

  tabItem(tabName = "charts",
          fluidPage(
            br(),
            fluidRow(
              column(4,
                     selectInput('in6', 'Menü', McDaten$Produkt, multiple=TRUE, selectize=TRUE)),
              column(4,infoBoxOutput("progressBox"))
            )
          )

  ))))


server <- function(input, output) {

  output$progressBox <- renderInfoBox({
    b <- McDaten %>%
  select(`kcal (Portion)`, Produkt) %>%
  filter(McDaten$Produkt %in% input$in6) %>%
  summarise(`kcal (Portion)`)

infoBox(
  "Progress", paste0(b, " kcal"), icon = icon("list"),
  color = "purple", fill = TRUE
)
  })

}


shinyApp(ui, server)
库(dplyr)
图书馆(绘本)
图书馆(readxl)
图书馆(闪亮)
图书馆(shinydashboard)
#达滕·艾恩勒森

McDaten我们需要在“ui”和
Summary
中的
choices=unique(McDaten$Produkt)
中为感兴趣的列指定
sum

-用户界面

-资料

set.seed(24)

麦克达顿呜呜,它工作了!非常感谢!:)顺便说一句,社区很棒
ui <- dashboardPage(
  skin="red",
  dashboardHeader(title = "Analytics Dashboard", titleWidth = 290),
  dashboardSidebar(
    width = 290,
    sidebarMenu(
      menuItem("Virtuelles Menü", tabName = "charts", icon = icon("cutlery"))

    )
  ),

  dashboardBody(


    tabItems(

      tabItem(tabName = "charts",
              fluidPage(
                br(),
                fluidRow(
                  column(4,
                     selectInput('in6', 'Menü', 
                       choices = unique(McDaten$Produkt), multiple=TRUE, selectize=TRUE )),
                  column(4,infoBoxOutput("progressBox"))
                )
              )

      ))))
server <- function(input, output) {

  output$progressBox <- renderInfoBox({
    b <- McDaten %>%
      select(`kcal (Portion)`, Produkt) %>%
      filter(Produkt %in% input$in6) %>%
      summarise(`kcal (Portion)` = sum(`kcal (Portion)`)) %>%
      pull(`kcal (Portion)`)


    infoBox(
      "Progress", paste0(b, " kcal"), icon = icon("list"),
      color = "purple", fill = TRUE
    )
  })

}
shinyApp(ui, server)
set.seed(24)
McDaten <- data.frame(Produkt = sample(LETTERS[1:5], 30, replace = TRUE),
   `kcal (Portion)` = sample(1400:2000, 30, replace = TRUE), 
        stringsAsFactors= FALSE, check.names = FALSE)

McDaten$kcal <- McDaten$`kcal (Portion)`