R中下划线的功能是什么?例如,在下面的代码中,行:input$tbl_rows_current
;确定显示的当前数据是否放入变量filtered_data
;但是,如果我将其更改为input$tbl_rows_all
,则过滤的所有数据都会放入变量filtered data
。
我理解它在这里是如何运作的,但它的一般用途是什么?
ui = fluidPage(dataTableOutput('tbl'),
plotOutput('plot1')
)
server = function(input, output) {
output$tbl = renderDataTable({
datatable(KSI, filter="top",rownames=TRUE,options = list(lengthChange = FALSE))
})
output$plot1 = renderPlot({
filtered_data <- as.numeric(*input$tbl_rows_current*)
print(filtered_data)
})
}
shinyApp(ui=ui, server=server)
答案 0 :(得分:7)
下划线在语义上没有意义,它们只是变量名称的一部分。 (在史前时代,_
与赋值运算符<-
同义,并且无法在变量名中使用。)tbl_rows_current
和tbl_rows_all
只是两个特定的input
列表的元素。根据作者的喜好,他们同样可以被称为
tblrowscurrent
和tblrowsall
TblRowsCurrent
和TblRowsAll
tbl.rows.current
和tbl.rows.all
oranges
和jackhammers
如果您喜欢此类内容,请查看Are there any official naming conventions for R?
但请注意,你无法更改这些名称;只有原始包装作者才能拥有。这些元素不是在你的代码中定义的,而是在闪亮的一面 - 它是闪亮的API /接口的一部分,它期望看到这些特定元素(即具有这些特定名称的元素)。