我想知道pmap()如果我有超过 3 个输入作为参数映射到具有其他默认输入的函数,如何使用函数。
这是一个可重现的示例:
a=c(5, 100, 900)
b=c(1, 2, 3)
ablist=list(mean=a,sd=b)
pmap(ablist, ~rnorm( mean=a , sd=b , n = 9))
Run Code Online (Sandbox Code Playgroud)
输出:
[[1]]
[1] 5.734723 99.883171 895.962561 5.346905 98.723191 903.373177 4.172267 96.424440 897.437970
[[2]]
[1] 4.427977 98.348139 899.287248 4.404674 99.178516 900.983974 3.836353 101.520355 899.992332
[[3]]
[1] 4.961772 95.927525 899.096313 4.444354 101.694591 904.172462 6.231246 97.773325 897.611838
Run Code Online (Sandbox Code Playgroud)
但是正如您所看到的,输出不是按照向量的顺序映射mean和sd。
我想有[[1]]与rnorm(mean=5,sd=1,n=9)等。出于好奇,我想知道pmap()这个演示做了什么。
顺便说一句,我知道在这个例子中,我可以轻松使用,map2()没有任何麻烦,但在我的真实代码中,我有 10 个输入,所以我需要使用pmap().
提前感谢您的任何答复!
我可以问一个关于“shinyjs”包的问题吗?
我构建了一个闪亮的仪表板,我想使用“shinyjs”设置一个功能来控制菜单项的可见/不可见。
我设计的第一个菜单项/页面是为这个仪表板选择数据。在用户选择了他们想要的数据后,我不希望他们回去更改他们的选择。所以我想设计一个按钮,如果用户点击这个按钮,第一个菜单项会消失,但菜单项的其余部分会出现。
我相信这是可能的,但我认为它需要一些 Javascript 知识来编码。
这就像这个问题的答案,但我只是切换菜单项的可见/不可见。
我感谢任何答复!
谢谢!
乔安娜
我使用rpivotTablepackage.json 创建一个交互式数据透视表。但是,我发现某些聚合器和 renderName 对于我的用户来说是不必要的。我想删除它们。例如,我想从聚合器下拉菜单中删除“平均”。
这是我的例子:
library(shiny)
library(rpivotTable)
df <- iris
ui <- fluidPage(
fluidRow(
column(width=10, rpivotTableOutput("pivot"))
)
)
server <- function(input, output, session) {
output$pivot<-renderRpivotTable({
rpivotTable(df,
rendererName="Heatmap",
cols=c("Species"),
rows=c("Petal.Width"),
aggregatorName="Count",
hiddenFromAggregators=["Average"]
)
})
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)
我注意到似乎有一些名为“hiddenFromAggregators”的相关参数,但我不知道如何在 R/Shiny 环境中应用它。
这是我找到“hiddenFromAggregators”的地方。
https://github.com/nicolaskruchten/pivottable/wiki/Parameters
我有一个关于如何eval(parse(text=...))在dbplyrSQL 翻译中使用的问题。下面的代码正是我想要dplyr的eval(parse(text=eval_text))
selected_col <- c("wt", "drat")
text <- paste(selected_col, ">3")
implode <- function(..., sep='|') {
paste(..., collapse=sep)
}
eval_text <- implode(text)
mtcars %>% dplyr::filter(eval(parse(text=eval_text)))
Run Code Online (Sandbox Code Playgroud)
但是当我将其放入数据库时,它返回一条错误消息。我正在寻找任何允许我动态设置列名称并使用or运算符进行过滤的解决方案。
db <- tbl(con, "mtcars") %>%
dplyr::filter(eval(parse(eval_text)))
db <- collect(db)
Run Code Online (Sandbox Code Playgroud)
谢谢!
我对闪亮的应用程序有疑问.当数字输入和selectizeInput中没有值选择时,由于空数据框,我的闪亮应用程序将显示错误.如果用户尚未选择输入,我想隐藏错误消息.我知道if return会有所帮助,但它似乎无法在这个应用程序中工作.
server.r:
library(shiny)
# Define server logic required to draw a histogram
shinyServer(function(input, output) {
result<-reactive({
if(is.null(input$wt)||is.null(input$hdcount)||is.null(input$season)||is.null(inp ut$gender) )return(NULL)
mod1<-lm(deathLog ~ InHdCnt+ log(InHdCnt) + season+ SexCode+ AvgArrivWt, data=mydata)
newdata = data.frame(AvgArrivWt=input$wt,InHdCnt=input$hdcount,SexCode=input$gender,season=input$season)
data<-predict(mod1, newdata, interval="predict",level=(input$slider1)*0.01 )
data
})
output$distPlot <- renderPrint({
result()
})
})
Run Code Online (Sandbox Code Playgroud)
ui.r:
library(shiny)
# Define UI for application that draws a histogram
shinyUI(fluidPage(
# Application title
titlePanel("Death Loss Estimator with On Arrival Factors"),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel( …Run Code Online (Sandbox Code Playgroud) r ×5
shiny ×3
dashboard ×1
dbplyr ×1
dplyr ×1
htmlwidgets ×1
input ×1
menuitem ×1
pmap ×1
purrr ×1
rpivottable ×1
shinyjs ×1
validation ×1