gpt4 book ai didi

r - 如何使用 future 数据框中的列

转载 作者:行者123 更新时间:2023-12-04 09:34:16 24 4
gpt4 key购买 nike

我似乎无法理解如何从 Shiny 的 future promise 返回的数据框中引用列

  observeEvent(input$user_btn,{
Resultsdf$data<-myResultsFunction()
future({Resultsdf$data})%...>%
Resultsdf$data$Acolumn<-gsub("blabla","Replace_me",Resultsdf$data$Acolumn)
Resultsdf$data$Comments<-"Please state plan here"
})
我如何引用 AcolumnComments作为 promise 的一部分,或者如果我不能这样做,那么我如何将 promise 的结果放在新的数据框中以便我可以引用它?
在哪里
Resultsdf<-reactiveValues(data = data.frame()) 

最佳答案

这是一个简单的例子,data.frame 存储在 reactiveVal 中一旦 future 解决:

library(shiny)
library(promises)
library(future)
library(datasets)
plan(multiprocess)

myResultsFunction <- function(){
Sys.sleep(5)
return(iris)
}

ui <- fluidPage(
actionButton("user_btn", "user_btn")
)

server <- function(input, output, session) {

Resultsdf <- reactiveVal()

observeEvent(input$user_btn, {
future({myResultsFunction()}) %...>% Resultsdf()
})

observeEvent(Resultsdf(), {
print(Resultsdf()$Sepal.Length)
print(Resultsdf()$Species)
})

}

shinyApp(ui, server)
Result
official article 中使用了相同的模式.

编辑 - 以下是对reactiveValues 执行相同操作的方法:
library(shiny)
library(promises)
library(future)
library(datasets)
plan(multiprocess)

myResultsFunction <- function(){
Sys.sleep(5)
return(iris)
}

ui <- fluidPage(
actionButton("user_btn", "user_btn")
)

server <- function(input, output, session) {

Resultsdf <- reactiveValues(data = data.frame())

observeEvent(input$user_btn, {
future({myResultsFunction()}) %...>% (function(result){Resultsdf$data <- result})
})

observeEvent(Resultsdf$data, {
print(Resultsdf$data$Sepal.Length)
print(Resultsdf$data$Species)
})

}

shinyApp(ui, server)
PS:请考虑提供完整的可重现示例(不仅是代码片段)。

关于r - 如何使用 future 数据框中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62671000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com