我确实有一个宽度大于modalDialog()显示它的元素的表格。我希望这个特定的 modialDialog() (我在应用程序中有其他我不想修改的)有足够的宽度来完全显示 DT 对象。
我尝试使用size = "l"的说法modalDialog()没有成功。有人可以帮我弄清楚如何做到这一点吗?奇怪的是,尽管一些 css 更改影响了所有模态,但我无法找到任何线索。
下面是一个最小的例子:
require(shiny)
require(DT)
shinyApp(
ui = basicPage(
actionButton("show", "Show modal dialog")
),
server = function(input, output) {
# Render DT
output$dt <- DT::renderDT(cbind(iris, iris))
# Modal management
observeEvent(input$show, {
showModal(
modalDialog(
size = "l",
easyClose = T,
DT::DTOutput("dt"),
footer = tagList(
modalButton("Cancel"),
actionButton("ok", "OK")
)
)
)
})
}
)
Run Code Online (Sandbox Code Playgroud) 在 Shiny Dashboard 中,我希望鼠标悬停在迷你侧边栏上以展开它。当鼠标离开侧边栏时,它会自动折叠成原始状态(迷你侧边栏)。
我现在得到的最接近的答案是通过使用 JQuery 将鼠标悬停在展开/折叠默认按钮功能上(见下面的代码),但我希望这种效果扩展到整个侧边栏(感谢如何使出现侧边栏悬停而不是单击 Shiny?)
我想一种方法是在侧边栏鼠标悬停时触发 a.sidebar-toggle 单击动作,但我一直无法找到侧边栏对象类来观察鼠标悬停。
tags$head(tags$script(HTML("$(function() {$('the sidebar object').mouseover(function(e) { $(a.sidebar-toggle).click()})});")))
最小的例子:
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
shinyApp(
ui = dashboardPagePlus(
header = dashboardHeaderPlus(
enable_rightsidebar = TRUE,
rightSidebarIcon = "gears"
),
sidebar = dashboardSidebar(
sidebarMenu(
menuItem("DASHBOARD1", tabName = "Spectrum", icon = icon("table")
), #menuItem
menuItem("DASHBOARD2", tabName = "LTE", icon = icon("mobile-alt"))
)),
body = dashboardBody(),
title = "TEST",
tags$head(tags$script(HTML("$(function() { $('a.sidebar-toggle').mouseover(function(e) { $(this).click()})});"))),
),
server = function(input, output) { } …Run Code Online (Sandbox Code Playgroud) 我确实将 dplyr 用于几乎(如果不是全部)我的数据处理,但我总是在 R 中遇到一件事:递归计算。
上下文:我有一个已排序的数据框ID,其中包含一些VALUES. 其中一些缺失,但可以使用系数迭代计算COEFF。我正在寻找一种简单而优雅的方式来做到这一点(没有循环)。有什么线索吗?
注意:我们假设每个 总是有第一个非 NA 值ID。
下面是具有预期解决方案的可重现示例:
df <- data.frame(ID = rep(letters[1:2], each = 5),
VALUE = c(1, 3, NA, NA, NA, 2, 2, 3, NA, NA),
COEFF = c(1, 2, 1, .5, 100, 1, 1, 1, 1, 1)
)
df_full <- df
# SOLUTION 1: Loop
for(i in 1:nrow(df_full))
{
if(is.na(df_full$VALUE[i])){
df_full$VALUE[i] <- df_full$VALUE[i-1]*df_full$COEFF[i]
}
}
df_full
# ID VALUE COEFF
#1 a 1.0 1.0
#2 …Run Code Online (Sandbox Code Playgroud)