我们如何在闪亮的应用程序中使用'names()'或'reactiveVal'的替代名称?
我试图在一个闪亮的应用程序中使用我们如何在闪亮的应用程序中使用'names()'或'reactiveVal'的替代名称?,r,shiny,reactive-programming,names,R,Shiny,Reactive Programming,Names,我试图在一个闪亮的应用程序中使用reactiveVal上的names(),但没有成功 这可能吗?在闪亮的应用程序中,命名被动值的替代方法有哪些 我的第一次尝试抛出一个错误: names(r()) <- "something" names(r())关键在关于如何设置值的文档中。从文档中: 调用不带参数的函数(反应性地)读取值;使用单个参数调用函数以设置值。 这意味着它有点深奥,我个人更喜欢使用magrittr别名和管道来保持可读性。稍后设置反应值名称的关键步骤包括: 不带参数调用它以
reactiveVal
上的names()
,但没有成功
这可能吗?在闪亮的应用程序中,命名被动值的替代方法有哪些
我的第一次尝试抛出一个错误:
names(r()) <- "something"
names(r())关键在关于如何设置值的文档中。从文档中:
调用不带参数的函数(反应性地)读取值;使用单个参数调用函数以设置值。
这意味着它有点深奥,我个人更喜欢使用magrittr别名和管道来保持可读性。稍后设置反应值名称的关键步骤包括:
- 不带参数调用它以读取当前值
- 在
隔离
中包装呼叫,以防止在此步骤中发生任何反应
- 将返回值与名称字符串一起传递给
set_names
- 再次调用反应值
r
,将命名值作为参数,以设置r
库(闪亮)
图书馆(magrittr)
ui%
r()
未找到输出$text PhantomJS。您可以使用webshot::install_phantomjs()安装它。如果已安装,请确保可以通过PATH变量找到phantomjs可执行文件。
静态R标记文档中不支持闪亮的应用程序
由(v0.3.0)于2019-08-07创建您不能在R中命名变量;这个概念在R中根本没有意义
如果您想在呈现变量时为变量提供更好的标签,有几十种方法,具体取决于您呈现变量的方式
对于Shiny中的reactiveVal
,可以指定一个“标签”(reactiveVal(value,label=“my super reactive”)
),但这仅用于调试目的
如果要为向量的元素指定命名索引,即
a <- 1:3
names(a) <- c('Bob','Foo','Bar')
a
# Bob Foo Bar
# 1 2 3
回应评论更新
你不能在R中命名变量是什么意思;这个概念在R中根本没有意义。?使用names()不是准确地命名变量吗。。我不明白。你能进一步解释一下吗
变量的名称是什么?这是我们用来称呼它的符号。在上面的例子中,我使用a
和r
作为两个不同变量的两个不同名称/符号
函数names()
用于设置和获取变量项、元素和列的名称。对于一个原子向量或列表(a)你不能在R中命名变量是什么意思;这个概念在R中根本没有意义?没有使用names()
准确地命名变量吗?我不明白。你能进一步解释一下吗?更新了你评论的答案。
library(shiny)
ui <- fluidPage(mainPanel(textOutput("text")))
server <- function(input, output) {
r <- reactiveVal(1)
# names(r) <- "something"
output$text <- renderText(
paste0("The reactiveVal is ", r(),". It's name is ", names(r()),"."))
}
shinyApp(ui = ui, server = server)
a <- 1:3
names(a) <- c('Bob','Foo','Bar')
a
# Bob Foo Bar
# 1 2 3
r <- reactiveVal(structure(1, .Names='something'))
a <- 1:3
names(a) <- c('Bob','Foo','Bar')
r(a) ## assigns a value to the reactive