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