r - 如何在 RMarkdown + Shiny 文档中插入普通公式?
问题描述
通过在Youtube上观看 Matt Dancho 的视频,我遇到了一个问题:
我需要在我的 RMarkdown + Shiny 报告中插入简单的公式,但我发现了一些问题。首先,我的 .yml 看起来像:
---
title: "RMarkdown + Shiny"
author: "Rodrigo Hermont Ozon"
date: "`r format(Sys.time(), '%B %d, %Y')`"
output:
html_document:
toc: true
toc_float: true
runtime: shiny
---
加载我可以做的包:
library(tidyverse)
library(tidyr)
library(dplyr)
library(fpp3)
library(fable)
library(tsibble)
library(data.table)
library(quantmod)
library(dygraphs)
library(shiny)
然后我使用以下数据集:
CORN <- getSymbols("CORN", auto.assign = FALSE,
from = "2010-06-09", end = Sys.Date())
BZ_F <- getSymbols("BZ=F", auto.assign = FALSE,
from = "2010-06-09", end = Sys.Date())
CL_F <- getSymbols("CL=F", auto.assign = FALSE,
from = "2010-06-09", end = Sys.Date())
XC_F <- getSymbols("XC=F", auto.assign = FALSE,
from = "2010-06-09", end = Sys.Date())
ZW_F <- getSymbols("ZW=F", auto.assign = FALSE,
from = "2010-06-09", end = Sys.Date())
ZS_F <- getSymbols("ZS=F", auto.assign = FALSE,
from = "2010-06-09", end = Sys.Date())
USDBRL_X <- getSymbols("USDBRL=X", auto.assign = FALSE,
from = "2010-06-09", end = Sys.Date()) # Real effective exchange rate Brazil/Dollar
dataset <- cbind(
CORN,
BZ_F,
CL_F,
XC_F,
ZW_F,
ZS_F,
USDBRL_X
) %>% as.data.table() %>% as_tsibble()
然后我们可以为用户制作一个交互式下拉选择器:
varSelectInput(
inputId = "selectedvar",
label = "Choose a column from the data:",
data = dataset[,
colnames(dataset)!= "index" ], # User didn´t select the index
selected = "CORN.Close"
)
然后我需要输入一个新的 RMarkdown 块,可以显示所选时间序列的,然后使用例如periodicity()
所选变量的报价的最后 5 天,依此类推...tail(input$selectedvar)
我是 Shiny+Rmarkdown 的新手,我只想知道是否可以使用renderPrint({ paste("The last five prices was: ", tail(input$selectedvar)) })
或其他解决方案来查看我想要的效果是否可以很好地工作。
谢谢,
解决方案
我错过了一步。道歉。
这是一个MWE:
library(shiny)
library(magrittr)
library(dplyr)
ui <- fluidPage(
selectInput("selectedvar", "Select a column:", choices=names(mtcars)),
textOutput("values"),
)
server <- function(input, output, session) {
output$values <- renderPrint({
paste0(
"The last five values are: ",
paste0(
mtcars %>% tail(5) %>% pull(!! rlang::sym(input$selectedvar)),
collapse=", "
)
)
})
}
shinyApp(ui, server)
请注意,您提供的信息很少需要回答您的问题。请阅读这篇关于如何提供 MRE 的帖子。
推荐阅读
- css - 为什么我的设备分辨率 / devicePixelRatio 不等于我的 CSS 的视口宽度?
- .net - VB .NET - datatable.SELECT 过滤器问题
- algorithm - 查找最长重复子数组的长度
- html - 为什么:在范围内选择没有值的输入
- java - openAssetFileDescriptor 不会截断 OneDrive 文件
- asp.net - 从工作站访问本地网络上单个服务器上托管的多个网站
- c# - 收到名为“Windows.UI.Xaml.Markup.XamlParseException”的错误
- ffmpeg - 使用 libavformat 重新混合时,开始时间戳不为零
- vba - 检测新邮件,然后提取、解压缩和重命名附件
- java - 如何在 Java Servlet 中执行 DELETE 和 PUT 方法