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))
正确转换后,转换功能正常
我在使用 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))
正确转换后,转换功能正常