当我从 Rstudio 运行时,我的闪亮应用程序运行良好,这对我来说似乎很奇怪,但同一个项目,当在闪亮的服务器(开源)上运行时,不使用 Packrat 私有库。我使用 .libPaths() 进行检查,但未显示私有库。我需要做任何配置才能使其工作吗?谢谢。
paste0(.libPaths(),' shinyBS version:',as.character(packageVersion('shinyBS')))
Run Code Online (Sandbox Code Playgroud)
在工作室
[1] "C:/R/ADAP/packrat/lib/i386-w64-mingw32/3.1.1 shinyBS version:0.25"
[2] "C:/R/ADAP/packrat/lib-ext shinyBS version:0.25"
[3] "C:/R/ADAP/packrat/lib-R shinyBS version:0.25"
Run Code Online (Sandbox Code Playgroud)
在闪亮的服务器上
shinyBS version:0.20 Lib:/usr/lib64/R/library shinyBS version:0.20 Lib:/usr/share/R/library
Run Code Online (Sandbox Code Playgroud) 我需要我的 Shiny 模块来隐藏/显示命名空间之外的 div。我尝试将 div id 传递给模块服务器函数并使用shinyjs 来显示/隐藏它,但这不起作用。我没有收到错误,它只是不显示/隐藏 div。
我知道闪亮的模块文档说模块无法访问命名空间之外的输出。不过,文档确实为模块提供了一种使用反应式访问命名空间之外的输入的方法。
有谁知道是否有办法让 Shiny 模块访问命名空间之外的输出?
这是我想做的:
### ui.R ###
header <- dashboardHeader(
title = a(href = 'http://google.com')
)
dashboardPage(
skin = 'black',
header,
dashboardSidebar(
sidebarMenu( id='tabs',
menuItem('Edit Existing Client', tabName = 'client-info')
)),
dashboardBody(
useShinyjs(),
fluidRow(
tabItems(
tabItem(tabName = "client-info",
div(selectClientModuleUI("clientinfons")),
div(id='editclientinfo', uiOutput('editclientstuff'))
)
)
)
)
)
### server.R ###
shinyServer(function(session,input, output) {
output$editclientstuff <- renderUI({
div(
fluidRow(
column(6,
textInput('editname', "Display name", value ='Testing name')
),
column(6,
numericInput('editastart','Start', value ='3')
) …Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以禁用/启用对仪表板侧栏的单击,以防止用户导航到其他具有光泽的视图?
我遇到了此解决方案“ 从服务器端禁用/启用侧边栏 ”,但是它所做的只是折叠/取消折叠侧边栏。
但是我正在寻找一种解决方案,通过它可以启用/禁用对它的单击,以更好地控制何时允许用户访问以导航到其他视图。
一个用例是:如果我希望用户先导航第一页上的所有输入,然后他/她就可以导航到其他部分。
我正在做一些事情,我需要在闪亮的仪表板上有一个浮动按钮。下面是使用shinyMaterial包获取浮动按钮的代码。
library(shiny)
library(shinymaterial)
# Wrap shinymaterial apps in material_page
ui <- material_page(title = "Basic Page",
tags$h1("Page Content"),
material_floating_button(
input_id = "example_floating_button",
icon = "live_help",
depth = 5,
color = "red lighten-3"
)
)
server <- function(input, output) {
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)
当我尝试在闪亮仪表板中使用闪亮材料库中的浮动按钮时,它不起作用。任何帮助都是值得赞赏的,我想要的只是每个页面上都有一个浮动按钮......使用任何库。
library(shiny)
library(shinydashboard)
library(dplyr)
library("shinymaterial")
ui <- dashboardPage(
dashboardHeader(dropdownMenuOutput("notificationMenu")),
dashboardSidebar(sidebarMenu(menuItem("Page 1", tabName = "page1"),
menuItem("Page 2", tabName = "page2"))),
dashboardBody(tabItems(
tabItem(tabName = "page1", h4("This is Page 1"),
material_floating_button(
input_id = "example_floating_button",
icon = "live_help",
depth …Run Code Online (Sandbox Code Playgroud) 我有一个闪亮的数据表。当用户选择某一行时,我想在新窗口中显示基于所选行的其他一些数据。我尝试使用 ShinyBS 包,但没有操作按钮我无法使用它,我不想包含操作按钮。我希望在选择一行时显示弹出窗口。有任何想法吗?
mymtcars = head(mtcars)
for_pop_up = 1:6
app <- shinyApp(
ui = fluidPage(
DT::dataTableOutput("mydatatable")
),
server = shinyServer(function(input, output, session) {
mycars = head(mtcars)
output$mydatatable = DT::renderDataTable(mycars, selection = 'single',
rownames = FALSE, options = list(dom = 't'))
output$popup = renderPrint({
for_pop_up[input$mydatatable_rows_selected]
})
})
)
runApp(app)
Run Code Online (Sandbox Code Playgroud) 示例取自 Shiny 画廊。我想在第一个选项卡上显示 ex1 和 ex2,在第二个选项卡上的 ex2 和 ex2 之间有一些中断。
用户界面
navbarPage(
title = 'DataTable Options',
tabPanel('Display length', DT::dataTableOutput('ex1')),
tabPanel('Length menu', DT::dataTableOutput('ex2'))
)
Run Code Online (Sandbox Code Playgroud)
服务器
function(input, output) {
# display 10 rows initially
output$ex1 <- DT::renderDataTable(
DT::datatable(iris, options = list(pageLength = 25))
)
# -1 means no pagination; the 2nd element contains menu labels
output$ex2 <- DT::renderDataTable(
DT::datatable(
iris, options = list(
lengthMenu = list(c(5, 15, -1), c('5', '15', 'All')),
pageLength = 15
)
)
)
}
Run Code Online (Sandbox Code Playgroud)
我认为下面的代码会起作用,但它不会。它确实在任何选项卡中显示任何内容。
navbarPage(
title = …Run Code Online (Sandbox Code Playgroud) 我使用Shiny的withProgress功能进行了长时间的计算:https://shiny.rstudio.com/reference/shiny/latest/withProgress.html
但是,它只是让系统进入睡眠状态,我必须等待Sys.sleep(xx)完成才能进行计算.所以我没有看到使用某些东西使计算过程看起来长两倍的意义.
是否有其他进度条方法不使用Sys.sleep(0.25),以便在进度状态显示期间实际进行计算?
我想创建一个闪亮的应用程序,它有一个输入用于编写一些R函数或Command,通过ui.R读取它然后将它传递给server.R执行该R命令以显示结果.
我花了几个小时搜索一些例子但找不到任何东西,我已经知道如何使用ui和服务器创建Shiny应用程序并将输入值传递给服务器并使用它们,但我不知道是否可以创建一个闪亮的像R这样的应用程序,您可以编写命令并返回结果,任何示例或帮助将不胜感激.
我需要一些帮助来匹配存储在向量中的少数字符串与存储在数据帧列(data.table)中的地址.我的数据库大约有100万条记录,因此我更喜欢使用data.table.
下面是数据和矢量的虚拟样本 -
my <- data.frame(add=c("50, nutan nagar Mum41","50, nutan Mum88 Maha","77, amar nagar Blr79 Bang","54, veer build Chennai3242","amar 755 Blr 400018"))
vec1 <- c("Mum","Blr","Chennai")
Run Code Online (Sandbox Code Playgroud)
我需要 在变量add中的每个地址中搜索vec1中的每个字符串.如果变量从地址中的vec1中找到任何字符串,则应在新列结果中返回匹配的字符串.如果多次匹配,它应该返回第一个匹配的值,即Incase它在单个地址中找到"Mum"和"Blr"它应该返回"Mum".
根据虚拟数据,预期结果将是 -
my$result <- c("Mum","Mum","Blr","Chennai","Blr")
Run Code Online (Sandbox Code Playgroud)
我尝试使用grep/grepl,但是他们给出错误"参数'模式'长度> 1,只使用第一个元素"
我尝试使用str_match但是对于在地址中找到的向量中的每个字符串得到TRUE/FALSE但不是值本身.
我们怎样才能做到这一点?
我有一堆工作需要在特定的时间间隔执行.但是,我们每天都有足够的资源来完成这项工作.因此,我试图优化开始时间日期(开始时间日期只能向前移动而不是向后移动),这样每天使用的资源与我们预算的资源更不相似.
这些函数在下面的示例中使用::
# Function to shift/rotate a vector
shifter <- function(x, n = 1) {
if (n == 0) x else c(tail(x, -n), head(x, n))
}
# Getting a range of dates
get_date_range <- function(current_date = Sys.Date(), next_planned_date = Sys.Date() + 5)
{
seq.Date(as.Date(current_date), as.Date(next_planned_date), "days")
}
Run Code Online (Sandbox Code Playgroud)
假设玩具示例数据集::此处任务P1在14日开始,而P2从15日开始.值零表示当天没有为该任务完成任务.
# EXAMPLE TOY DATASET
datain = data.frame(dated = c("2018-12-14", "2018-12-15", "2018-12-16", "2018-12-17"),
P1 = c(1,2,0,3), P2 = c(0,4,0,6)) %>%
mutate(dated = as.character(dated))
#The amount of resources that can be used in a …Run Code Online (Sandbox Code Playgroud) algorithm schedule r mathematical-optimization resource-scheduling
r ×10
shiny ×8
datatables ×2
shinyjs ×2
algorithm ×1
dt ×1
javascript ×1
module ×1
namespaces ×1
progress-bar ×1
regex ×1
schedule ×1
shiny-server ×1
string ×1
stringr ×1