此外,某些函数(例如library() 和require())需要包名称来完成。RStudio 自动推断特定函数是否需要包名称并提供这些名称作为补全...
我的问题是:如何?我正在编写一个自定义函数,该函数将包名称作为参数,但 RStudio 仅使用对象和函数名称来完成参数,并且我无法判断RStudio 正在获取的代码library()是什么。require()
我的职能是:
unpack <- function(...,
lib = NULL,
repos = getOption("repos")) {
pkgs <- sapply(match.call(expand.dots = TRUE)[-1], as.character)
new.pkgs <-
pkgs[!(
pkgs %in% installed.packages(lib.loc = lib)[, "Package"]
)]
if (length(new.pkgs))
install.packages(new.pkgs,
lib = lib,
repos = repos)
sapply(pkgs, require,
lib.loc = lib,
character.only = TRUE)
}
Run Code Online (Sandbox Code Playgroud) DataTables, 在 Shiny 中,将缺失值显示为空格。有没有办法改变它?我特别梦想RStudio 在其数据查看器中使用的灰色斜体NA。出于显示目的将此类字符串注入字符列我没有问题,但是,当然,有时列是数字或日期,将它们转换为仅用于显示似乎有问题。
DT默认缺失值的MWE显示:
library(DT)
library(shiny)
ui <- fluidPage(
dataTableOutput("airquality")
)
server <- function(input, output) {
output$airquality <- renderDataTable(airquality)
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)
odbc只要我为我的 Oracle 服务器添加 DSN,我就可以让这个包在 Windows 中工作,但否则我根本无法让它工作。也就是说,在添加一个名为“DummyDB”的 DSN 条目后,该条目仅包含一个 IP 地址和服务 ID(当然,除了驱动程序),这有效:
conn <- dbConnect(odbc(),
DSN = "DummyDB",
UID = credentials$login,
PWD = credentials$pw,
Port = 1521)
Run Code Online (Sandbox Code Playgroud)
然而,这与 DSN 条目中的 IP、驱动程序和服务 ID 完全相同,并没有(IP 出于隐私目的而被排除):
conn <- dbConnect(odbc(),
Driver = "Oracle in IC",
Host = "xx.xxx.xx.xxx",
SVC = "XE",
UID = credentials$login,
PWD = credentials$pw,
Port = 1521)
Run Code Online (Sandbox Code Playgroud)
这也不起作用:
conn <- dbConnect(odbc(), .connection_string = "Driver={Oracle in IC};Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xx.xxx.xx.xxx)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=xe)));Uid=xxx;Pwd=xxx;")
Run Code Online (Sandbox Code Playgroud)
当然,我已经尝试以各种方式调整所有这些。无论如何,我得到了永远神秘的:
nanodbc/nanodbc.cpp:950: HY000: [Oracle][ODBC][Ora]ORA-12560: TNS:protocol adapter error
强制性细节:
r ×3
autocomplete ×1
datatables ×1
dt ×1
missing-data ×1
odbc ×1
oracle ×1
package ×1
r-infer ×1
rstudio ×1
shiny ×1