我有一个包含众多numericInput领域的 Shiny 应用程序。我想要一种numericInput用逗号分隔每 10^3来格式化字段的方法。例如,我想要 5,000,000 而不是 5000,000。
我可以在 R 中使用format和prettyNum函数来做到这一点。但我没有办法在 Shiny 中做到这一点。
这对 UI 非常有帮助,因为它可以处理百分比、金钱等。有谁知道如何将其纳入该numericInput领域?
谢谢!
library(shiny)
# Define UI for application that draws a histogram
ui <- fluidPage(
mainPanel(
numericInput("formatNumber",
"Number should be formatted, e.g."5,000,000",
value = 1000),
p(format(5000000.10, big.mark=",", big.interval=3L,
digits=0, scientific=F))
)
)
server <- function(input, output) {
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud) 我想sprintf在R中使用带有可变数量参数的函数。是否可以将这些参数捆绑在一起形成字符向量或列表,以避免sprintf单独提供这些参数?
一个例子将阐明:
base_string = "(1) %s, (2) %s, (3) %s"
sprintf(base_string, "foo", "bar", "baz") # this works
sprintf(base_string, c("foo", "bar", "baz")) # this doesn't work
Run Code Online (Sandbox Code Playgroud)
在Python中,我可以使用
base_string = "(1) %s, (2) %s, (3) %s"
base_string % ("foo", "bar", "baz")
Run Code Online (Sandbox Code Playgroud) Postgres 有许多方便的“反斜杠”命令(例如\dt、\du、\l等)。我想通过 RPostgresql 接口运行这些。我已经尝试过以下方法:
drv = dbDriver("PostgreSQL")
con <- dbConnect(drv,
dbname = "my_database",
host = "**********",
port = ****,
user = "******",
password = "******")
dbExecute(con, "\\dt")
# Close PostgreSQL connection
dbDisconnect(con)
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
Error in postgresqlExecStatement(conn, statement, ...) :
RS-DBI driver: (could not Retrieve the result : ERROR: syntax error at or
near "\"
LINE 1: \dt
^
)
Run Code Online (Sandbox Code Playgroud)
是否可以从 RPostgresql 运行这些?或者反斜杠命令仅限于命令行psql?