R shiny:使用 reactiveValues 转换 reactive data.frame 并观察

R shiny: transforming reactive data.frame using reactiveValues and observe

我在使用 reactiveValues 和观察转换反应式 data.frame 时遇到问题。我更熟悉使用常规的 reactive() 并且不能完全掌握 reactiveValues。我想在名为 tmp3 的 data.frame 中添加一个名为 "Biomass" 的列。我能够毫无问题地转换 tmp2 并添加一个名为 "Class" 的列和一个名为 "Common" 的列。下面是服务器的一小段。如果我尝试使用转换来添加 "Biomass" 列,应用程序不会 运行。我希望有人能快速浏览一下并理顺我。让我知道是否需要提供完整的代码。

globals <- reactiveValues()

observe({

dat=read_lake_survey(SiteID())
surveys <- dat$result$surveys
tmp2 <- map2(surveys$fishCatchSummaries, surveys$surveyDate, ~{ 
.x$survey_date <- .y ; .x })
tmp2 <- map2(tmp2, surveys$surveyType, ~{ .x$survey_type <- .y ; .x })
tmp2 <- map2(tmp2, surveys$surveySubType, ~{ .x$survey_subtype <- .y ; .x })
tmp2 <- map2_df(tmp2, surveys$surveyID, ~{ .$survey_id <- .y ; .x })
tmp2[tmp2 == "N/A" ] <- NA 
tmp3=transform(tmp2,Class= abv$Coding[match(tmp2$species, abv$Abv)],
               FullName=abv$Common[match(tmp2$species, abv$Abv)])

  ### No luck adding this to the transform code  ######
  ### Biomass=tmp2$averageWeight*tmp2$totalCatch ###

  globals$ScrapedData=tmp3
})   

问题是 data.frame 是一个小问题。

tmp2 <- data.frame(type_convert(tmp2)

不会将其转换为 data.frame。我需要使用 class(as.data.frame(tmp2)) 正确转换后,转换功能正常