Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们如何在闪亮的应用程序中使用'names()'或'reactiveVal'的替代名称?_R_Shiny_Reactive Programming_Names - Fatal编程技术网

我们如何在闪亮的应用程序中使用'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