问题描述
我们正在 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++ 版本。
The data file can be found here。我们只是使用 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,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,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,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",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",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",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,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",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,sep = ""))
{
result <- .Call("rs_askForSecret",name,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,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,...)
{
.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,hint,hint = hint))
invisible(.Call("rs_connectionUpdated",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",self_contained))
}
<environment: 0x55ca5ca2c200>
$pager
function (files,header,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",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,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",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","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,...)
<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)
invisible(NULL)
}
<environment: 0x55ca5c0b0978>
$timeout
[1] 60
$ts.eps
[1] 1e-05
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)