r - 不同计算机上的回归输出不同
问题描述
我们在 Fedora 33 上使用 R 将广义线性模型拟合到一组数据。我们是 3 个人拥有完全相同的数据集、完全相同的操作系统 (Fedora 33)、完全相同的 R 版本和软件包版本。sessionInfo() 输出看起来也一样。这是当前的函数调用:
probitModel <- glm(Y ~ a + b + c +
d + e + f + g,
control=glm.control(maxit=100),
start=startingval,
family = binomial(link = "probit"),
data = thisData)
需要注意的是,正常的“lm”拟合在比较时会产生完全相同的结果。关于“glm”的东西在不同的计算机上会产生少量的不同结果。最后,结果是一致的,因为我们都在同一台计算机上使用相同的数据得到相同的结果。只有当我们比较结果时才会出现问题。
我们检查了:
- 相同的操作系统版本。
- 相同的 R 版本。
- 相同的软件包版本。
- 一样的种子。
- 所有计算机都是 64 位的,R 安装是 64 位的。
- 相同的 sessionInfo()
- 相同的 g++ 版本。
数据文件可以在这里找到。我们只是使用 load() 来设置数据,调用上面的函数,当输出应该相同时,我们得到的输出略有不同。
我对 sprintf("%.20f", probitModel$coefficients) 的结果:
"-2.87521118137333120401" "-0.29134882504319664642" "0.11641651353472137753" "-0.00811350544106945529" "0.00939647781971938295" "0.00000000889056301580" "-0.00000000003021053820" "0.04553200818707187070"
另一台计算机的结果:
"-2.87521124006409856122" "-0.29134881939721285482" "0.11641651896472486605" "-0.00811350937056383621" "0.00939647799201156347" "0.00000000889056417264" "-0.00000000003021022404" "0.04553201421062236243"
我的跟踪输出:
Deviance = 67234.8 Iterations - 1
Deviance = 67079.56 Iterations - 2
Deviance = 67102.68 Iterations - 3
Deviance = 67088.05 Iterations - 4
Deviance = 67078.07 Iterations - 5
Deviance = 67073.77 Iterations - 6
Deviance = 67076.34 Iterations - 7
Deviance = 67074.41 Iterations - 8
Deviance = 67075.74 Iterations - 9
Deviance = 67074.77 Iterations - 10
Deviance = 67075.45 Iterations - 11
Deviance = 67074.96 Iterations - 12
Deviance = 67075.31 Iterations - 13
Deviance = 67075.06 Iterations - 14
Deviance = 67075.23 Iterations - 15
Deviance = 67075.11 Iterations - 16
Deviance = 67075.2 Iterations - 17
Deviance = 67075.13 Iterations - 18
Deviance = 67075.18 Iterations - 19
Deviance = 67075.15 Iterations - 20
Deviance = 67075.17 Iterations - 21
Deviance = 67075.15 Iterations - 22
Deviance = 67075.16 Iterations - 23
Deviance = 67075.16 Iterations - 24
Deviance = 67075.16 Iterations - 25
Deviance = 67075.16 Iterations - 26
Deviance = 67075.16 Iterations - 27
Deviance = 67075.16 Iterations - 28
Deviance = 67075.16 Iterations - 29
Deviance = 67075.16 Iterations - 30
Deviance = 67075.16 Iterations - 31
Deviance = 67075.16 Iterations - 32
其他计算机的跟踪输出:
Deviance = 67234.8 Iterations - 1
Deviance = 67079.56 Iterations - 2
Deviance = 67102.68 Iterations - 3
Deviance = 67088.05 Iterations - 4
Deviance = 67078.07 Iterations - 5
Deviance = 67073.77 Iterations - 6
Deviance = 67076.34 Iterations - 7
Deviance = 67074.41 Iterations - 8
Deviance = 67075.74 Iterations - 9
Deviance = 67074.77 Iterations - 10
Deviance = 67075.45 Iterations - 11
Deviance = 67074.96 Iterations - 12
Deviance = 67075.31 Iterations - 13
Deviance = 67075.06 Iterations - 14
Deviance = 67075.23 Iterations - 15
Deviance = 67075.11 Iterations - 16
Deviance = 67075.2 Iterations - 17
Deviance = 67075.13 Iterations - 18
Deviance = 67075.18 Iterations - 19
Deviance = 67075.15 Iterations - 20
Deviance = 67075.17 Iterations - 21
Deviance = 67075.15 Iterations - 22
Deviance = 67075.16 Iterations - 23
Deviance = 67075.16 Iterations - 24
Deviance = 67075.16 Iterations - 25
Deviance = 67075.16 Iterations - 26
Deviance = 67075.16 Iterations - 27
Deviance = 67075.16 Iterations - 28
Deviance = 67075.16 Iterations - 29
Deviance = 67075.16 Iterations - 30
Deviance = 67075.16 Iterations - 31
Deviance = 67075.16 Iterations - 32
我的 options() 输出:
$askpass
function (prompt)
{
.rs.askForPassword(prompt)
}
<environment: 0x5557fac219c8>
$asksecret
function (name, title = name, prompt = paste(name, ":", sep = ""))
{
.rs.askForSecret(name, title, prompt)
}
<environment: 0x5557fac219c8>
$bitmapType
[1] "cairo"
$CBoundsCheck
[1] FALSE
$check.bounds
[1] FALSE
$citation.bibtex.max
[1] 1
$continue
[1] "+ "
$contrasts
unordered ordered
"contr.treatment" "contr.poly"
$defaultPackages
[1] "datasets" "utils" "grDevices" "graphics" "stats" "methods"
$demo.ask
[1] "default"
$deparse.cutoff
[1] 60
$device
[1] "RStudioGD"
$device.ask.default
[1] FALSE
$digits
[1] 7
$download.file.method
[1] "libcurl"
$dvipscmd
[1] "dvips"
$echo
[1] TRUE
$editor
[1] "/usr/bin/nano"
$encoding
[1] "native.enc"
$example.ask
[1] "default"
$expressions
[1] 5000
$ggvis.renderer
[1] "svg"
$help_type
[1] "html"
$help.search.types
[1] "vignette" "demo" "help"
$help.try.all.packages
[1] FALSE
$HTTPUserAgent
[1] "RStudio Desktop (1.4.1106); R (4.0.4 x86_64-redhat-linux-gnu x86_64 linux-gnu)"
$internet.info
[1] 2
$keep.parse.data
[1] TRUE
$keep.parse.data.pkgs
[1] FALSE
$keep.source
[1] TRUE
$keep.source.pkgs
[1] FALSE
$locatorBell
[1] TRUE
$mailer
[1] "mailto"
$matprod
[1] "default"
$max.print
[1] 1000
$menu.graphics
[1] FALSE
$na.action
[1] "na.omit"
$nwarnings
[1] 50
$OutDec
[1] "."
$papersize
[1] "letter"
$PCRE_limit_recursion
[1] NA
$PCRE_study
[1] FALSE
$PCRE_use_JIT
[1] TRUE
$pdfviewer
[1] "/usr/bin/xdg-open"
$pkgType
[1] "source"
$profvis.keep_output
[1] TRUE
$profvis.print
function (x)
{
.rs.profilePrint(x)
}
<environment: 0x5557f91aadb0>
$profvis.prof_extension
[1] ".Rprof"
$prompt
[1] "> "
$repos
CRAN
"https://cran.rstudio.com/"
attr(,"RStudio")
[1] TRUE
$restart
function (afterRestartCommand = "")
{
.rs.restartR(afterRestartCommand)
}
<environment: 0x5557fac219c8>
$reticulate.initialized
function ()
{
options(reticulate.initialized = NULL)
.rs.reticulate.onPythonInitialized()
.rs.reticulate.enqueueClientEvent(.rs.reticulateEvents$PYTHON_INITIALIZED,
list())
.Call("rs_reticulateInitialized", PACKAGE = "(embedding)")
}
<environment: 0x5557f8bbf4d0>
$reticulate.repl.hook
function (buffer, contents, trimmed)
{
.rs.reticulate.replHook(buffer, contents, trimmed)
}
<environment: 0x5557f8bbf4d0>
$reticulate.repl.initialize
function ()
{
.rs.reticulate.replInitialize()
}
<environment: 0x5557f8bbf4d0>
$reticulate.repl.teardown
function ()
{
.rs.reticulate.replTeardown()
}
<environment: 0x5557f8bbf4d0>
$rl_word_breaks
[1] " \t\n\"\\'`><=%;,|&{()}"
$rsconnect.check.certificate
[1] TRUE
$rstudio.notebook.executing
[1] FALSE
$RStudioGD.antialias
[1] "default"
$RStudioGD.backend
[1] "default"
$scipen
[1] 0
$shiny.launch.browser
function (url)
{
invisible(.Call("rs_shinyviewer", url, getwd(), "window",
NULL, PACKAGE = "(embedding)"))
}
<environment: base>
attr(,"shinyViewerType")
[1] "window"
$shinygadgets.showdialog
function (caption, url, width = NULL, height = NULL)
{
if (!is.character(caption) || (length(caption) != 1))
stop("caption must be a single element character vector.",
call. = FALSE)
if (!is.character(url) || (length(url) != 1))
stop("url must be a single element character vector.",
call. = FALSE)
if (is.null(width))
width <- 600
if (is.null(height))
height <- 600
if (!is.numeric(width) || (length(width) != 1))
stop("width must be a single element numeric vector.",
call. = FALSE)
if (!is.numeric(height) || (length(height) != 1))
stop("height must be a single element numeric vector.",
call. = FALSE)
invisible(.Call("rs_showShinyGadgetDialog", caption, url,
width, height, PACKAGE = "(embedding)"))
}
<environment: 0x5557fac219c8>
$show.coef.Pvalues
[1] TRUE
$show.error.messages
[1] TRUE
$show.signif.stars
[1] TRUE
$str
$str$strict.width
[1] "no"
$str$digits.d
[1] 3
$str$vec.len
[1] 4
$str$list.len
[1] 99
$str$deparse.lines
NULL
$str$drop.deparse.attr
[1] TRUE
$str$formatNum
function (x, ...)
format(x, trim = TRUE, drop0trailing = TRUE, ...)
<environment: 0x5557f9ae0330>
$str.dendrogram.last
[1] "`"
$stringsAsFactors
[1] FALSE
$terminal.manager
$terminal.manager$terminalActivate
function (id = NULL, show = TRUE)
{
if (!is.null(id) && (!is.character(id) || (length(id) !=
1)))
stop("'id' must be NULL or a character vector of length one")
if (!is.logical(show))
stop("'show' must be TRUE or FALSE")
.Call("rs_terminalActivate", id, show)
invisible(NULL)
}
$terminal.manager$terminalCreate
function (caption = NULL, show = TRUE, shellType = NULL)
{
if (!is.null(caption) && (!is.character(caption) || (length(caption) !=
1)))
stop("'caption' must be NULL or a character vector of length one")
if (is.null(show) || !is.logical(show))
stop("'show' must be a logical vector")
if (!is.null(shellType) && (!is.character(shellType) || (length(shellType) !=
1)))
stop("'shellType' must be NULL or a character vector of length one")
validShellType = TRUE
if (!is.null(shellType)) {
validShellType <- tolower(shellType) %in% c("default",
"win-cmd", "win-ps", "win-git-bash", "win-wsl-bash",
"ps-core", "custom")
}
if (!validShellType)
stop("'shellType' must be NULL, or one of 'default', 'win-cmd', 'win-ps', 'win-git-bash', 'win-wsl-bash', 'ps-core', 'bash', 'zsh', or 'custom'.")
.Call("rs_terminalCreate", caption, show, shellType)
}
$terminal.manager$terminalClear
function (id)
{
if (is.null(id) || !is.character(id) || length(id) != 1)
stop("'id' must be a character vector of length one")
.Call("rs_terminalClear", id)
invisible(NULL)
}
$terminal.manager$terminalList
function ()
{
.Call("rs_terminalList")
}
$terminal.manager$terminalContext
function (id)
{
if (is.null(id) || !is.character(id) || (length(id) != 1))
stop("'id' must be a single element character vector")
.Call("rs_terminalContext", id)
}
$terminal.manager$terminalBuffer
function (id, stripAnsi = TRUE)
{
if (is.null(id) || !is.character(id) || (length(id) != 1))
stop("'id' must be a single element character vector")
if (is.null(stripAnsi) || !is.logical(stripAnsi))
stop("'stripAnsi' must be a logical vector")
.Call("rs_terminalBuffer", id, stripAnsi)
}
$terminal.manager$terminalVisible
function ()
{
.Call("rs_terminalVisible")
}
$terminal.manager$terminalBusy
function (id)
{
if (is.null(id) || !is.character(id))
stop("'id' must be a character vector")
.Call("rs_terminalBusy", id)
}
$terminal.manager$terminalRunning
function (id)
{
if (is.null(id) || !is.character(id))
stop("'id' must be a character vector")
.Call("rs_terminalRunning", id)
}
$terminal.manager$terminalKill
function (id)
{
if (is.null(id) || !is.character(id))
stop("'id' must be a character vector")
.Call("rs_terminalKill", id)
invisible(NULL)
}
$terminal.manager$terminalSend
function (id, text)
{
if (!is.character(text))
stop("'text' should be a character vector", call. = FALSE)
if (is.null(id) || !is.character(id) || length(id) != 1)
stop("'id' must be a character vector of length one")
.Call("rs_terminalSend", id, text)
invisible(NULL)
}
$terminal.manager$terminalExecute
function (command, workingDir = NULL, env = character(), show = TRUE)
{
if (is.null(command) || !is.character(command) || (length(command) !=
1))
stop("'command' must be a single element character vector")
if (!is.null(workingDir) && (!is.character(workingDir) ||
(length(workingDir) != 1)))
stop("'workingDir' must be a single element character vector")
if (!is.null(env) && !is.character(env))
stop("'env' must be a character vector")
if (is.null(show) || !is.logical(show))
stop("'show' must be a logical vector")
.Call("rs_terminalExecute", command, workingDir, env, show,
PACKAGE = "(embedding)")
}
$texi2dvi
[1] "/usr/bin/texi2dvi"
$timeout
[1] 60
$ts.eps
[1] 1e-05
$ts.S.compat
[1] FALSE
$unzip
[1] "/usr/bin/unzip"
$useFancyQuotes
[1] TRUE
$verbose
[1] FALSE
$viewer
function (url, height = NULL)
{
if (!is.character(url) || (length(url) != 1))
stop("url must be a single element character vector.",
call. = FALSE)
if (identical(height, "maximize"))
height <- -1
if (!is.null(height) && (!is.numeric(height) || (length(height) !=
1)))
stop("height must be a single element numeric vector or 'maximize'.",
call. = FALSE)
invisible(.Call("rs_viewer", url, height, PACKAGE = "(embedding)"))
}
<environment: 0x5557fac219c8>
$warn
[1] 0
$warning.length
[1] 1000
$width
[1] 121
第二台计算机的 options() 输出:
$add.smooth
[1] TRUE
$askpass
function (prompt)
{
.Call("rs_askForPassword", prompt)
}
<environment: 0x55ca5c0b0978>
$asksecret
function (name, title = name, prompt = paste(name, ":", sep = ""))
{
result <- .Call("rs_askForSecret", name, title, prompt, .rs.isPackageInstalled("keyring"),
.rs.hasSecret(name))
if (is.null(result))
stop("Ask for secret operation was cancelled.")
result
}
<environment: 0x55ca5c0b0978>
$bitmapType
[1] "cairo"
$browser
function (url)
{
.Call("rs_browseURL", url)
}
<environment: 0x55ca5ca2c200>
$browserNLdisabled
[1] FALSE
$buildtools.check
function (action)
{
if (identical(.Platform$pkgType, "mac.binary.mavericks")) {
.Call("rs_canBuildCpp")
}
else {
if (!.Call("rs_canBuildCpp")) {
.rs.installBuildTools(action)
FALSE
}
else {
TRUE
}
}
}
<environment: 0x55ca5c0b0978>
$buildtools.with
function (code)
{
.rs.addRToolsToPath()
on.exit(.rs.restorePreviousPath(), add = TRUE)
force(code)
}
<environment: 0x55ca5c0b0978>
$CBoundsCheck
[1] FALSE
$check.bounds
[1] FALSE
$citation.bibtex.max
[1] 1
$connectionObserver
$connectionObserver$connectionOpened
function (type, host, displayName, icon = NULL, connectCode,
disconnect, listObjectTypes, listObjects, listColumns, previewObject,
connectionObject, actions = NULL)
{
if (!inherits(listObjectTypes, "function")) {
stop("listObjectTypes must be a function returning a list of object types",
call. = FALSE)
}
promote <- function(name, l) {
if (length(l) == 0)
return(list())
if (is.null(l$contains)) {
return(list(list(name = name, icon = l$icon, contains = "data")))
}
else {
return(unlist(append(list(list(list(name = name,
icon = l$icon, contains = names(l$contains)))),
lapply(names(l$contains), function(name) {
promote(name, l$contains[[name]])
})), recursive = FALSE))
}
return(list())
}
objectTree <- listObjectTypes()
objectTypes <- lapply(names(objectTree), function(name) {
promote(name, objectTree[[name]])
})[[1]]
connection <- list(type = type, host = host, displayName = displayName,
icon = icon, connectCode = connectCode, disconnect = disconnect,
objectTypes = objectTypes, listObjects = listObjects,
listColumns = listColumns, previewObject = previewObject,
actions = actions, connectionObject = connectionObject)
class(connection) <- "rstudioConnection"
.rs.validateConnection(connection)
cacheKey <- paste(connection$type, connection$host, .Call("rs_generateShortUuid"),
sep = "_")
assign(cacheKey, value = connection, envir = .rs.activeConnections)
invisible(.Call("rs_connectionOpened", connection))
}
<environment: 0x55ca5d0039e0>
$connectionObserver$connectionClosed
function (type, host, ...)
{
.rs.validateCharacterParams(list(type = type, host = host))
name <- .rs.findConnectionName(type, host)
if (!is.null(name))
rm(list = name, envir = .rs.activeConnections)
invisible(.Call("rs_connectionClosed", type, host))
}
<environment: 0x55ca5d0039e0>
$connectionObserver$connectionUpdated
function (type, host, hint, ...)
{
.rs.validateCharacterParams(list(type = type, host = host,
hint = hint))
invisible(.Call("rs_connectionUpdated", type, host, hint))
}
<environment: 0x55ca5d0039e0>
$continue
[1] "+ "
$contrasts
unordered ordered
"contr.treatment" "contr.poly"
$defaultPackages
[1] "datasets" "utils" "grDevices" "graphics" "stats" "methods"
$demo.ask
[1] "default"
$deparse.cutoff
[1] 60
$device
[1] "RStudioGD"
$device.ask.default
[1] FALSE
$digits
[1] 7
$download.file.method
[1] "libcurl"
$dvipscmd
[1] "dvips"
$echo
[1] TRUE
$editor
[1] "vi"
$encoding
[1] "native.enc"
$error
(function ()
{
.rs.recordTraceback(TRUE, 5, .rs.enqueueError)
})()
$example.ask
[1] "default"
$expressions
[1] 5000
$ggvis.renderer
[1] "svg"
$help_type
[1] "html"
$help.search.types
[1] "vignette" "demo" "help"
$help.try.all.packages
[1] FALSE
$HTTPUserAgent
[1] "RStudio Desktop (1.3.1093); R (4.0.4 x86_64-redhat-linux-gnu x86_64 linux-gnu)"
$internet.info
[1] 2
$keep.parse.data
[1] TRUE
$keep.parse.data.pkgs
[1] FALSE
$keep.source
[1] TRUE
$keep.source.pkgs
[1] FALSE
$locatorBell
[1] TRUE
$mailer
[1] "mailto"
$matprod
[1] "default"
$max.print
[1] 1000
$menu.graphics
[1] FALSE
$na.action
[1] "na.omit"
$nwarnings
[1] 50
$OutDec
[1] "."
$page_viewer
function (url, title = "RStudio Viewer", self_contained = FALSE)
{
if (!is.character(url) || (length(url) != 1))
stop("url must be a single element character vector.",
call. = FALSE)
if (!is.character(title) || (length(title) != 1))
stop("title must be a single element character vector.",
call. = FALSE)
if (!is.logical(self_contained) || (length(self_contained) !=
1))
stop("self_contained must be a single element logical vector.",
call. = FALSE)
invisible(.Call("rs_showPageViewer", url, title, self_contained))
}
<environment: 0x55ca5ca2c200>
$pager
function (files, header, title, delete.file)
{
for (i in 1:length(files)) {
if ((i > length(header)) || !nzchar(header[[i]]))
fileTitle <- title
else fileTitle <- header[[i]]
.Call("rs_showFile", fileTitle, files[[i]], delete.file)
}
}
<environment: 0x55ca5c0b0978>
$papersize
[1] "letter"
$PCRE_limit_recursion
[1] NA
$PCRE_study
[1] FALSE
$PCRE_use_JIT
[1] TRUE
$pdfviewer
[1] "/usr/bin/xdg-open"
$pkgType
[1] "source"
$plumber.swagger.url
function (url)
{
invisible(.Call("rs_plumberviewer", url, getwd(), "window",
PACKAGE = "(embedding)"))
}
<environment: 0x55ca5c0b0978>
attr(,"plumberViewerType")
[1] "window"
$printcmd
[1] "lpr"
$profvis.keep_output
[1] TRUE
$profvis.print
function (x)
{
envir <- as.environment(which(search() == "tools:rstudio"))
eval(substitute(.rs.profilePrint(x), list(x = x)), envir = envir)
}
<environment: 0x55ca5c99fb80>
$prompt
[1] "> "
$repos
CRAN
"https://cran.rstudio.com/"
attr(,"RStudio")
[1] TRUE
$restart
function (afterRestartCommand = "")
{
afterRestartCommand <- paste(as.character(afterRestartCommand),
collapse = "\n")
.Call("rs_restartR", afterRestartCommand, PACKAGE = "(embedding)")
}
<environment: 0x55ca5c0b0978>
$reticulate.initialized
function ()
{
.Call("rs_reticulateInitialized", PACKAGE = "(embedding)")
}
<environment: 0x55ca5ab49dd8>
$reticulate.repl.hook
function (buffer, contents, trimmed)
{
if (buffer$empty()) {
if (grepl("^[?]", trimmed)) {
text <- substring(trimmed, 2)
.Call("rs_showPythonHelp", text, PACKAGE = "(embedding)")
return(TRUE)
}
reHelp <- "help\\((.*)\\)"
if (grepl(reHelp, trimmed)) {
text <- gsub(reHelp, "\\1", trimmed)
.Call("rs_showPythonHelp", text, PACKAGE = "(embedding)")
return(TRUE)
}
}
FALSE
}
<environment: 0x55ca5c0b0978>
$reticulate.repl.initialize
function ()
{
builtins <- reticulate::import_builtins(convert = FALSE)
help <- builtins$help
.rs.setVar("reticulate.help", builtins$help)
builtins$help <- function(...) {
dots <- list(...)
if (length(dots) == 0) {
message("Error: Interactive Python help not available within RStudio")
return()
}
help(...)
}
if (requireNamespace("png", quietly = TRUE) && reticulate::py_module_available("matplotlib")) {
matplotlib <- reticulate::import("matplotlib", convert = TRUE)
backend <- matplotlib$get_backend()
if (!identical(tolower(backend), "agg")) {
sys <- reticulate::import("sys", convert = TRUE)
if ("matplotlib.backends" %in% names(sys$modules))
matplotlib$pyplot$switch_backend("agg")
else matplotlib$use("agg", warn = FALSE, force = TRUE)
}
plt <- matplotlib$pyplot
.rs.setVar("reticulate.matplotlib.show", plt$show)
plt$show <- .rs.reticulate.matplotlib.showHook
}
}
<environment: 0x55ca5c0b0978>
$reticulate.repl.teardown
function ()
{
builtins <- reticulate::import_builtins(convert = FALSE)
builtins$help <- .rs.getVar("reticulate.help")
show <- .rs.getVar("reticulate.matplotlib.show")
if (!is.null(show)) {
matplotlib <- reticulate::import("matplotlib", convert = TRUE)
plt <- matplotlib$pyplot
plt$show <- show
}
}
<environment: 0x55ca5c0b0978>
$rl_word_breaks
[1] " \t\n\"\\'`><=%;,|&{()}"
$rstudio.notebook.executing
[1] FALSE
$scipen
[1] 0
$shiny.launch.browser
function (url)
{
invisible(.Call("rs_shinyviewer", url, getwd(), "window",
NULL, PACKAGE = "(embedding)"))
}
<environment: 0x55ca5c0b0978>
attr(,"shinyViewerType")
[1] "window"
$str$digits.d
[1] 3
$str$vec.len
[1] 4
$str$list.len
[1] 99
$str$deparse.lines
NULL
$str$drop.deparse.attr
[1] TRUE
$str$formatNum
function (x, ...)
format(x, trim = TRUE, drop0trailing = TRUE, ...)
<environment: 0x55ca5ba6a360>
$str.dendrogram.last
[1] "`"
$stringsAsFactors
[1] FALSE
$terminal.manager$terminalVisible
function ()
{
.Call("rs_terminalVisible")
}
<environment: 0x55ca5c0b0978>
$terminal.manager$terminalBusy
function (id)
{
if (is.null(id) || !is.character(id))
stop("'id' must be a character vector")
.Call("rs_terminalBusy", id)
}
<environment: 0x55ca5c0b0978>
$terminal.manager$terminalRunning
function (id)
{
if (is.null(id) || !is.character(id))
stop("'id' must be a character vector")
.Call("rs_terminalRunning", id)
}
<environment: 0x55ca5c0b0978>
$terminal.manager$terminalKill
function (id)
{
if (is.null(id) || !is.character(id))
stop("'id' must be a character vector")
.Call("rs_terminalKill", id)
invisible(NULL)
}
<environment: 0x55ca5c0b0978>
$terminal.manager$terminalSend
function (id, text)
{
if (!is.character(text))
stop("'text' should be a character vector", call. = FALSE)
if (is.null(id) || !is.character(id) || length(id) != 1)
stop("'id' must be a character vector of length one")
.Call("rs_terminalSend", id, text)
invisible(NULL)
}
<environment: 0x55ca5c0b0978>
$timeout
[1] 60
$ts.eps
[1] 1e-05
解决方案
推荐阅读
- visual-studio-2019 - 无法同时在本地运行两个特定的 .Net Core 3.1 API
- flutter - Flutter:当应用程序进入后台时,Facebook Social Auth 窗口关闭
- php - PHP - RethinkDB 没有正确过滤 LESS THAN
- bash - Bash脚本如何从文件中读取数据或者可能是更好的方法?
- algorithm - 为试点问题寻找更好的算法
- scikit-learn - 决策树不平衡数据:一叶数据高度集中
- javascript - 使用 setAttribute 的 onClick 属性不起作用
- javascript - 错误:“无法连接到 MongoDB Atlas 集群中的任何服务器。” 即使在 IP 地址被列入白名单之后
- php - 我是否必须从 laravel 中每个控制器的数据库中返回标头数据?
- android - 更新到 Android Studio 4.2 后无法创建新的 Kotlin 项目