differences
Differences Between TIBCO Enterprise Runtime for R and Open-Source R
Jump to package
base | grDevices | parallel | splines | stats | terrUtils | tools | utils
Description
This file contains a compilation of the differences between TIBCO Enterprise Runtime for R and Open-Source R.
General
TIBCO Enterprise Runtime for R issues a warning if a function is exported more than once from a package NAMESPACE file. R provides no such warning. (Duplicate exports in packages occur in a number of places in the CRAN repository.)
Base Package
abbreviate
In open-source R, the "use.classes" argument is silently ignored and treated as TRUE. In some cases, this causes TIBCO Enterprise Runtime for R and open-source R to produce different results:
Example
abbreviate(c('a foobr','a foobar')) # R: "a foobr" "afoobar" # TERR: "afoobr" "afoobar"
Bessel
The Bessel functions are computed using Boost (http://www.boost.org/doc/libs/1_47_0/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel.html).
colMeans
connections
In open-source R, when the engine is run in non-interactive mode with the script specified via -f, readLines(stdin()) reads lines from the script file. In TIBCO Enterprise Runtime for R, in that case, readLines(stdin()) returns character(0).
data.matrix
The function numerical.matrix is not implemented in open-source R.
deparse
difftime
Differences exist between TIBCO Enterprise Runtime for R and open-source R in the results for calculating difftime near DST; the TIBCO Enterprise Runtime for R results appear more reasonable than those of open-source R.
Example
## The start of DST in USA 2013 is 2013-03-10 2:00AM > difftime("2013-03-10 03:00:00", "2013-03-10 02:00:00", tz = "America/New_York") # Time difference of 2 hours (open-source R) # Time difference of 0 secs (TERR) > difftime("2013-03-10 03:00:00", "2013-03-10 02:59:00", tz = "America/New_York") # Time difference of 2 hours (open-source R) # Time difference of -59 mins (TERR) The differences are caused by the differences in as.POSIXct, i.e., > as.POSIXct("2013-03-10 02:00:00", tz = "America/New_York") # [1] "2013-03-10 EST" (open-source R) # [1] "2013-03-10 03:00:00 EDT" (TERR) > as.POSIXct("2011-03-13 02:59:59", tz = "America/New_York") # [1] "2013-03-10 EST" (open-source R) # [1] "2013-03-10 03:59:59 EDT" (TERR)
.deparseOpts
The "noSplitLines" option is available only in TIBCO Enterprise Runtime for R.
dput
See deparse for similar differences.
Encoding
General warning: TIBCO Enterprise Runtime for R might not choose the same string encoding as open-source R in all cases. Indeed, open-source R does not use the same string encoding consistently between different platforms and locales. TIBCO Enterprise Runtime for R was designed to be more consistent between different platforms.
file.info
In TIBCO Enterprise Runtime for R, 'uid', 'gid', 'uname' and 'grname' fields are never included. The 'exe' field is provided on all platforms, but says only "no" or "yes". In open-source R on Windows, it says "no", "win64", or "win32".
format
Calling format.data.frame with zero columns returns a zero-column data.frame with the same row names (hence number of rows) as the input data.frame. In open-source R, this call returns an error.
getNativeSymbolInfo
In open-source R, getNativeSymbolInfo returns the address of the routine's entry point or its registration record (if withRegistrationInfo is TRUE) in the address field. In TIBCO Enterprise Runtime for R, the field always contains NA. The name of the third field of the return value is a package in open-source R, but it is a DLL in TIBCO Enterprise Runtime for R, where it is compatible with information returned by getDLLRegisteredRoutines (where open-source R names the field DLL).
grep
grep calls the regexpr function in TIBCO Enterprise Runtime for R implementation. However, both grep and grepl do not directly call the regexpr function in open-source R implementation. Internal C functions other than regexpr are called respectively.
iconv
library.dynam
In open-source R, .dynLibs is used to set the internal list of "DLLInfo" objects, which is an object with class "DLLInfoList", if new is specified. Otherwise, it just returns this internal list if new is missing.
In TIBCO Enterprise Runtime for R, .dynLibs is equivalent to getLoadedDLLs, except the DLLInfoList structure it returns carries no names. The new parameter is ingored.
list.files
Both TIBCO Enterprise Runtime for R and open-source R sort files depending on locale. In the "C" locale (e.g., Sys.setlocale(locale='C')), characters are sorted by their ascii codes. As a result, in TIBCO Enterprise Runtime for R, the list.files function lists all files starting with upper case before listing files starting with lower case. In open-source R, list.files lists files ignoring the case.
Logic
In open-source R, the negation (!) operator is not a group member of Logic.
Math.Date
The trunc.POSIXt(x, units = "secs") in open-source R seems to have problems with dates after 2038-01-18 19:14:06
For example:
R> pct <- as.POSIXct(c("2038-01-18 19:14:06.5", "2038-01-18 19:14:07.5")) R> trunc(pct, "secs") [1] "2038-01-18 19:14:06 PST" "2038-01-18 19:14:08 PST" TERR> pct <- as.POSIXct(c("2038-01-18 19:14:06.5", "2038-01-18 19:14:07.5")) TERR> trunc(pct, "secs") {[1] "2038-01-18 19:14:06 PST" "2038-01-18 19:14:07 PST"}
nchar
In open-source R, nchar generates an error (or returns NA if allowNA is TRUE) if the string contains an invalid multi-byte character sequence and the type argument is "chars" or "width".
norm
Open-source R does not handle complex matrices.
numeric_version
The TIBCO Enterprise Runtime for R functions S_system_version() and getSversion() are non-existent in open-source R, but they are similar to open-source R functions R_system_version() and getRversion().
OlsonNames
path.expand
In open-source R, path.expand() appears to save the value used for "~" the first time it is called. Even if the environment variables R_USER, and so on, are changed, further calls to path.expand do not use these environment variables to determine the value for "~". In contrast, TIBCO Enterprise Runtime for R reads the current values for R_USER, and so on, whenever path.expand is called.
qr
qr.coef
readBin
reg.finalizer
The argument e can be any type of object in TIBCO Enterprise Runtime for R.
row.names
Unlike TIBCO Enterprise Runtime for R, open-source R has no function rowIds.
save
seq.Date
sequence
sequence(NULL) and sequence(integer(0)) both return integer(0) in TIBCO Enterprise Runtime for R, but return NULL in open-source R.
serialize
The RFormat argument is TIBCO Enterprise Runtime for R-specific.
sink
In open-source R, the file argument must be an open connection when type="message". In TIBCO Enterprise Runtime for R, it can also be a file name.
solve
sort
Sys.time
Unlike open-source R, the return value of TIBCO Enterprise Runtime for R's Sys.timezone is platform-independent and matches the value returned in the Windows version of open-source R.
traceback
If the max.lines argument is NULL or any other non-numeric value, open-source R prints all of the lines, whereas TIBCO Enterprise Runtime for R prints only a maximum of 10 lines.
The print.context argument is in TIBCO Enterprise Runtime for R only; it is not in open-source R.
writeChar
GrDevices Package
chull
The arguments: peel, maxpeel, onbdy and tol are not available in Open-source R's chull function.
Parallel Package
clusterApply
clusterSplit gives incorrect results in open-source R if cl has one or fewer nodes, or seq has zero elements. TIBCO Enterprise Runtime for R handles these cases better, returning a list with length equal to the number of nodes in cl.
mclapply
TIBCO Enterprise Runtime for R defines mclapply for compatibility with open-source R, but this function doesn't process list elements in separate parallel processes.
mcparallel
TIBCO Enterprise Runtime for R defines mcparallel and mccollect for compatibility with open-source R, but these functions don't evaluate expressions in separate processes.
TIBCO Enterprise Runtime for R defines mc.reset.stream for compatibility with open-source R, but this function doesn't reset or affect the random number generators.
splitIndices
splitIndices gives incorrect results in open-source R if nx or ncl is less than or equal to one. TIBCO Enterprise Runtime for R handles these cases better, returning a list with ncl elements.
Splines Package
backSpline
In open-source R, backSpline uses a different algorithm, (usually) resulting in a slightly different splines.
bs
When the number of non-missing values in x is less than 2, TIBCO Enterprise Runtime for R and Open-source R currently give different results, neither of which is very useful.
ns
When the number of non-missing values in x is less than 2, TIBCO Enterprise Runtime for R and Open-source R currently give different results, neither of which is very useful.
Stats Package
Box.test
TIBCO Enterprise Runtime for R uses the truncated to integer value of lag, as does Open-source R but TIBCO Enterprise Runtime for R also uses the truncated integer value in computing the degrees of freedom while R does uses the supplied lag value in computing the degrees of freedom. This is only an issue if the value specified for lag is not an integer.
TIBCO Enterprise Runtime for R will issue a warning if the combination of lag and fitdf result in a negative value for the degrees of freedom, Open-source R does not warn. In this situation, both TIBCO Enterprise Runtime for R and Open-source R will report NA for the test p-value.
cor.test
When method="kendall", exact=TRUE, and length(x)>8, the exact p-values computed in TIBCO Enterprise Runtime for R differ from open-source R by a small amount (usually less than 1e-3). This may be due to a different algorithm (that is, AS 71) is used in TIBCO Enterprise Runtime for R.
cutree
The group numbering might be different between TIBCO Enterprise Runtime for R and open-source R, but the group memberships are the same.
In open-source R, when k is NULL, and if the "height" component of tree is not sorted, cutree is stopped. TIBCO Enterprise Runtime for R sorts the "height" component to ensure "height" is ordered as increasing.
dist
In open-source R, the definition of the canberra method is to divide by the absolute value of the sum of the variable values. This matters only when values are negative.
effects
In open-source R, when effects component of object is NULL, effects is stopped with an error. In TIBCO Enterprise Runtime for R, it returns NULL.
factanal
The TIBCO Enterprise Runtime for R factanal uses a different algorithm for computing the MLE estimates so the results can be slightly different. The return value from TIBCO Enterprise Runtime for R does not include the rotmat component when a rotation is performed.
The current TIBCO Enterprise Runtime for R version of factanal produces the same results as factanal in S-PLUS.
filter
NA handling for recursive filtering differs between TIBCO Enterprise Runtime for R and open-source R. In TIBCO Enterprise Runtime for R, all values after an NA is encountered in x become NA.
hclust
Open-source R gives an error when the input d is a symmetric matrix, while TIBCO Enterprise Runtime for R allows it.
The methods: "mcquitty", "ward", "median" and "centroid" which are available in R are not yet implemented in TIBCO Enterprise Runtime for R. If one of the unimplemented methods is specified, a warning is issued and the default method ("complete") is used.
Hypergeometric
kmeans
The methods "Lloyd", "Forgy" and "MacQueen", which are available in R, are not yet implemented in TIBCO Enterprise Runtime for R. If one of the unimplemented methods is specified, a warning is issued and the default method ("Hartigan-Wong") is used.
ks.test
lag
In open-source R, the return value keeps the attribute of input object, whereas in TIBCO Enterprise Runtime for R, the return value is a "ts" object.
model.tables
The argument "type" for "feffects" and "residuals" are not implemented in open-source R.
optim
TIBCO Enterprise Runtime for R does not support the "Brent" optimization method.
optimize
ppoints
The ppoints function in open-source R does not have the weights argument.
princomp
shapiro.test
When you run the shapiro.test on a dataset with missing values (NA), TIBCO Enterprise Runtime for R reports a warning about NAs that is not shown in R. (The test output is the same.)
In R, shapiro.test fails if the data includes Infs. TIBCO Enterprise Runtime for R removes the non-finite value(s), issues a warning about them, and then runs the test on the remaining values.
smooth.spline
This function is based on the S-PLUS implementation and has not been completely converted to the R parameterization. The spar parameters do not match: They are on the same scale, but differ by a constant. Several arguments used in the R implementation are included here but not used. This implementation might choose a slightly rougher spline fit than the implementation in open-source R.
t.test
The argument "treatment" is not in open-source R.
terms
abb, neg.out and as.terms are not implemented in open-source R. The object attribute - formula is removed in open-source R.
Uniform
TerrUtils Package
colMedians
colMedians, colQuantiles, and colProds are not in open-source R.
colMins
colMins, colMaxs, colRanges, rowMins, rowMaxs, and rowRanges are not in open-source R.
colVars
is.number
is.number is not implemented in open-source R.
ndotargs
This function does not exist in open-source R.
stdev
stdev is not in open-source R.
Tools Package
startDynamicHelp
Utils Package
apropos
In open-source R, what must be a character vector.
browseURL
In open-source R, when browser is not NULL, the function "browseURL" fails to run.
count.fields
Open-source R does not have the nmax argument.
find
In open-source R, what must be a character vector.
help.start
The update argument is not used by TIBCO Enterprise Runtime for R. In open-source R, this argument is used to update the file R_HOME/doc/html/packages.html. In TIBCO Enterprise Runtime for R, this information is maintained internally to Rdhttpd and is generated dynamically on request.
ls.str
In open-source R, the name argument seems to be ignored.
packageDescription
In TIBCO Enterprise Runtime for R, the encoding argument is not implemented. If this argument is given, a warning is generated.
remove.packages
setInternet2
str
R Version
R-3.2.3
TIBCO Enterprise Runtime for R 4.1.0