小编Joa*_*nna的帖子

purrr::pmap 与其他默认输入

我想知道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)

但是正如您所看到的,输出不是按照向量的顺序映射meansd

我想有[[1]]rnorm(mean=5,sd=1,n=9)等。出于好奇,我想知道pmap()这个演示做了什么。

顺便说一句,我知道在这个例子中,我可以轻松使用,map2()没有任何麻烦,但在我的真实代码中,我有 10 个输入,所以我需要使用pmap().

提前感谢您的任何答复!

r pmap purrr

3
推荐指数
1
解决办法
214
查看次数

使用“shinyjs”包控制闪亮仪表板菜单项的可见/不可见

我可以问一个关于“shinyjs”包的问题吗?

我构建了一个闪亮的仪表板,我想使用“shinyjs”设置一个功能来控制菜单项的可见/不可见。

我设计的第一个菜单项/页面是为这个仪表板选择数据。在用户选择了他们想要的数据后,我不希望他们回去更改他们的选择。所以我想设计一个按钮,如果用户点击这个按钮,第一个菜单项会消失,但菜单项的其余部分会出现。

我相信这是可能的,但我认为它需要一些 Javascript 知识来编码。

这就像这个问题的答案,但我只是切换菜单项的可见/不可见。

从另一个 tabpanel 激活 tabpanel

我感谢任何答复!

谢谢!

乔安娜

dashboard r menuitem shiny shinyjs

2
推荐指数
1
解决办法
2038
查看次数

rpivotTable:删除不必要的聚合器

我使用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

r shiny htmlwidgets rpivottable

2
推荐指数
1
解决办法
1774
查看次数

R:使用 eval() 的 dbplyr

我有一个关于如何eval(parse(text=...))dbplyrSQL 翻译中使用的问题。下面的代码正是我想要dplyreval(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)

谢谢!

r dplyr dbplyr

2
推荐指数
1
解决办法
323
查看次数

Shiny/R:selectizeInput中没有值时隐藏错误消息

我对闪亮的应用程序有疑问.当数字输入和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)

validation r input shiny

1
推荐指数
1
解决办法
2043
查看次数

标签 统计

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