Bug is in S-PLUS 2000 R3 and higher. If you try to pass an OLEClient object returned by a call to create.ole.object() in S code, to an automation server via call.ole.method() or set.ole.property() you will get errors about automation failures and the call will not be made.
S-PLUS functions that are run via OLE-Automation from Visual Basic do not run if they do not contain any input parameters. Workaround: Include a boolean dummy parameter. The error message that is returned in VB is: "Object does not support this property or method".
If you open a graph sheet in a minimized S-PLUS (using automation), the graph sheet itself is minimized.
S-PLUS GPF's upon accessing any control in a v3.3 dialog that contains a slider control whose label has more than (roughly) 27-options()$digits characters. Such dialogs work fine (no GPF) in v3.3. Also works fine in S-PLUS 4.5 Release 2.
Command window prompt silently changed to the browser prompt. Using the options dialog or options("prompt") won't show the change. To get back to the normal, will need to use options(prompt='...'). Does not happen in S-PLUS 2000.
In S+2000 if you call arg.dialog twice in succession the values typed in the first time are automatically filled in the second time. This does not happen in S+6.
In S+2000 if you pass the argument init.args to the 'arg.dialog()' function, the values are correctly filled into their proper places, whereas in S+6 the function fails with the error message: 'Problem in missing(method.obj): not an argument name: "method.obj"'.
The function oldCut does not support the arguments include.lowest or factor.result. S-PLUS 2000 code including a call to cut(..., include.lowest=T) will not work after being processed by migration wizard.
The Migration Wizard does not recognize all cts() objects at the S-PLUS 6 command line after they have been migrated from S-PLUS 2000. The following error is returned instead: 'Error: Expressions beyond nested limit(256); only 30 out of 139 frames dumped.
New chapter created with Visual Studio wizard different than and inferior to chapter created by createChapter and makeChapter. Some FORTRAN callable functions in sqpe.dll not available because of underscore/capitalization differences (e.g., realpr). [NOTE: this bug has been fixed but the Visual Studio Fortran Wizard still doesn't work properly.]
The chapter boot mechanism doesn't work on Windows. See Green Book section 5.4.2. For windows use chapter -o to boot.
Assignments that appear in a .First() function get incorrectly permanently assigned to the working database. This does not happen in S-PLUS 3.4.
dbread not working in S-PLUS 6 for Linux/UNIX as it did in S-PLUS 5.x. Try x_1:3; dbread(".Data", "x") - get "Problem in dbread.default(database, name): bad_name called with bad value of fs_type (0)". get("x", ".Data") works fine.
Cannot assign more than 320 objects to database in one top level expression using S-PLUS 6 GUI on Windows. OK in Windows console version and on Solaris. Causes convertOldLibrary to GPF when old library has more than 320 objects in it.
When you copy and paste columns from one data frame to another in Data windows, column names are not pasted. Generic names 'V5' etc. are given. Using S-Plus 4.5 release 2 on window 95.
Data window does not update following Data | Recode.
S-PLUS 6.0 for Windows: Row field in Go To Cell dialog should contain END selection. Typing END in this field works, but user should be able to select it from a drop-down list.
If timeSeries data is in a matrix then the result of a seriesMerge does not display properly in the data grid editor.
If you view a "Read Only" timeSeries in the data grid and then manipulate the data from the command line, S-PLUS will distort the columns and eventually crash.
Displaying this aggregateSeries in the GUI data window as read only shows the y column values repeated in the z column instead of the actual z column values.
Attempting to subset using the Data/Subset dialog using an expression that is too long will cause S-PLUS to crash.
Edit | Restore Data Objects does not work with data frames that have had a column changed by commands in Data menu. In particular, if you accidently overwrite a column (e.g., with Data|Transform, Copy, etc), Restore to Previous State does not work.
In Sort Columns dialog, default settings in From Columns and To Columns fields would be better set to <ALL> to prevent mismatched data when sorting in place.
In Sort Columns dialog, there is no <ALL> selection in the From Columns field (<ALL> can be selected in To Columns field).
Viewing a timeSeries object that is composed of characters as read only in a data window only displays the Positions column.
Data frames with dates columns change day when converted to an editable data frame.
Ugly scientific notation in plot() axis labels when data to be plotted cross zero and have more than 4 digits of precision. Workaround: use 'plot(round(...,4), ...)'.
Inconsistent behavior with barchart and xyplot. When assigning results of substitute(formula) to a variable with <- to be used as formula argument for barchart, object is not found. When doing the same with xyplot it is found.
S-PLUS 2000: symbols() returns error when two symbol parameters and a matrix with two rows are passed to the function.
Plotting timeDate objects with NA values produces a plot, but returns Problem in timeAlign: Missing value where logical needed: if(k.by <1) stop ("k.by must be >=1"). S-PLUS should be able to do this without returning warnings.
In S-PLUS 6.0.4 Solaris, postscript() will fail with"ld.so.1: /local/Splus6/splus/x/dev.postscript: fatal: libF77.so.3: open failed: No such file or directory" because we shipped libF77.so.4 in $SHOME/newfun/lib but some executables were linked with libF77.so.3
S-PLUS 6: guiLocator() does not work. The error message "NULL data frame with 0 rows" is returned instead of a data frame containing the points.
2D-Plot(Scatter) created on a projected plane in S-PLUS 4.0 does not have 3D perspective to it.
Plots projected on a 3D YZ Plane are not correct. This problem only occurs when the Angle to X Axis option(located in the 3D Workbox page of the Graph3D Properties dialog) is set to any angle of [90,269]. Plots projected on a 3D XZ Plane also has the same problem.
When the Angle to X Axis is set between 90 and 179 on 3D graphs the X axis will be a mirror image in all export formats. In specific situations this defect is also visible in an S-PLUS graph sheet. This also happens in 4.5R2.
Range calculations for axes are incorrect when date values are entered.
When creating a trellis plot and specifying 'Interval Type = Columns of Ranges' on the 'Multipanel' tab of the 2D graph dialog, the 'LowerRange Col' and 'Upper Range Col' field are grayed out. Must reset "Type" Option to Auto and Back to Continuous to get field.
S-PLUS 2000: Printed Polar Plot with Spoke Grid Weight = 1/4 will produce black box in upper-left quadrant of the polar plot. This is actually a distorted spoke.
When creating multiple GUI graphs in a script, S-PLUS will crash without error after the 10th graph is created. This problem occurred in S-PLUS 6 release 2.
S-PLUS 2000: When creating a scatterplot matrix,the data tips do not work if set to the "Auto" setting.
When creating a '3D - Surface - Data Grid(x,y,z or z1..zn)' graph and filling surface with"5 Color Range", when you then add a Color Scale Legend, the legend is incorrect. The Middle Color1 and Middle Color3 are always the same on the Color Scale Legend.
When I try to change the Axis2DLabelX or Axis2DLabelY through the Object Default Interface Class in the Object Explorer, if I change the font or font size and click OK, S-PLUS crashes.
In S-PLUS 2000, use Menu version of horizontal bar chart. For bar base, if X column data has negative value in data, then Ymin is fine and x axis starts at that negative value. If data includes positive value > 0, then Ymin(should be Xmin) is ignored, and x axis starts at 0.
Scatter plots generated via the GUI-Interface in S-PLUS 2000 containing negative tick values can cause S-PLUS to completely lock up.
When using guiCreate("FunctionInfo"), if you set Display = T and remove the numbers (#0=, #1=, ...) from either the ArgumentList, PromptList,or DefaultValueList, you will GPF. (e.g. my.fun<-function(){invisible()} guiCreate("FunctionInfo",Function="my.fun",ArgumentList="AB",Display=T).
Pasting a graph into a Report window fails when Copy Graphsheet Page was used.
S-PLUS Report files that contain embedded graphs cannot be saved to disk. A Windows dialog appears with the error message: 'Access denied'. Windows OLE Automation limitation with embedding OLE objects in documents. We should display error when copying graph to a Report window.
If one attempts to edit a 'read-only' file in a script window in S-PLUS 2000 Release 2 clicking on the Close button for the window results in dialog: 'Cannot write file. Possibly out of disk space or invalid path". The problem is that the script window disappears and all changes are lost.
New toolbar buttons: Can create button, but it is grayed out and nothing happens when you click on it. Shows tool tip. Doesn't work to create button through Object Explorer or with GUI commands. The examples work in S-PLUS 2000.
If the 'Append upon Save/Save As' box in the 'Commands History' dialog is checked and try to save the commands to an existing file, you will be prompted with a message "do you want to REPLACE it?" The file is appended on clicking "Yes". Need to have clearer wordings.
Open a script file for editing, then open the Replace dialog ('Edit|Replace'), and then click on the 'Opens saved document' button on the toolbar, S-PLUS quits. No warning, no error just closes all the windows and goes back to the desktop. Also happens with Edit|Find.
Font changes in S-PLUS report files are not saved. i.e.,. in a report window, i changed the font type, size, bolded some lines, and after saving and reopening the text reverted to original font properties.
Open a script file, use CTRL-F to open a Find dialog, then try to open another file. S-PLUS closes with no warning.
Memory growth using .ssc files - memory is not released after each return to the top level.
S-PLUS 6: When you enter the command 'synchronize(1)', the working directory (position 1) of the Object Explorer's search path is removed and the Data folder shows the objects in the next directory of the search path, "splus" (position 2).
When you export a data frame in which an entry is a character string >255 characters, only the first letter gets exported to the file. [NOTE: S-PLUS now truncates the character string to 255 characters and issues a warning.]
Integrate updates for MIM 4.0 into S-PLUS 6.1 for Windows. Provide access to intraday data in MIM 4.0 in S-PLUS 6.1 for Windows.
When you select Type of file to export to like Stata (.dat) the suffix attached to the export file is .syd if you move up to export SPSS Portable file (.por) the suffix attached to the export file is .dta. Problem begins at SAS Version 7.
import.data.mim() fails to read date data. NA's are returned.
Crash when using guiImportODBC(), importData(), or import.data() in a loop over 300 times causes a crash in MSJET40.DLL on WinNT and Win2000 (others likely). This bug is due to Microsoft bug: http://support.microsoft.com/support/kb/articles/q293/8/90.asp.
ODBC import dialog generates errors in importData() by adding \\\n for carriage returns in the ODBC SQL Query.
Using importData to import a tab delimited file, the length of the data that is imported is limited to the maximum length of data in the first 256 rows of a column. Importing row with 257 '.' and then a '-100' will import as 257 '.' followed by '-'.
S-PLUS 2000: The 'Delimiters' field in the 'Import Data' dialog box does not recognize white space as a delimiter if it is entered with exactly one other character. Instead, the space is treated as leading or trailing space, and is not included in the import.data() command.
Missing data in a DBASE export for very small numbers (i.e. 1e-7).
readRaw() fails with 'bad address signal', exit status 141, if you attempt to read from a pipe and don't supply the number of characters to read from the pipe.
When S-PLUS is installed in a directory with embedded spaces double clicking on an S-PLUS file (i.e. script, graph sheet) produces the error "Cannot find the file "Path\Filename" (or one of its components). Make sure the path and filename are correct and that all required libraries are available.
Setup should make a backup of autoexec.bat (on Win98, WinME, Win95) prior to making any changes to it for paths, etc. and should mark those changes with the version number of S-PLUS as remarks. Currently it does not make a backup and marks with only "S-PLUS".
Fix up the effect of environment variables on startup for sqpe.exe and splus.exe. Eliminate deprecated HOME. Unify effect of environment variables set on command line or in environment.
Installing S-PLUS with administrative privileges and launching the application with basic user privileges can lead to the error message "Unable to update the system registry" on startup on machines running either Windows NT 4.x or Windows 2000. Effects automation code(won't run).
Creating an object named 'version' masks the S-PLUS versions file that is absolutely necessary to start S-PLUS. This can cause big problems and starting in another _Data(deleting it) is the only solution to get S-PLUS started. We should consider renaming 'version' file to .Versions.
After reinstalling S-PLUS 6 for Windows with the "Repair" option, the registration information is deleted and it says Registered to: NOT REGISTERED.
Add a check box to the "Update .Prefs?" dialog that appears when starting S-PLUS in a project folder with .Prefs from an older version. The check box should read "Do not check for outdated .Prefs files again", and prevent this dialog appearing in the future.
When checking for updates, do not prompt the user to register first if he hasn't already.
dyn.open does not work with files which include backslashes. Does work with forward slashes. Unlike S+2000, dyn.open does not search PATH for dlls without a full path name.
.Fortran on Windows passes length of character string by address instead of by value so FORTRAN character*(*) data has wrong length (lengths are in the millions, since that is where malloc allocates memory on Windows).
When array or matrix is subscripted with one subscript, a matrix or integer or logical vector, S-PLUS doesn't notice and complain when subscripts are out of bounds. When replacing elements of a matrix this can result in length(mat)!=prod(dim(mat)).
Names of attributes assigned in a function disappear; reference counting problem?
S-PLUS 6 UNIX and Windows: The apply function does not return row names when using functions that would generally return row names such as 'summary'.
S-PLUS 6 Windows: synchronize() in a for loop does not work if you try to synchronize after assigning values to a vector. Works fine in S-PLUS 6 for UNIX and S-PLUS 2000.
Bug in data.frameAux.list when you want to include in a data frame a list with elements having rows of different but replicable lengths >1. this worked in 3.4 but is broken in 5.x and 6.
The function splitString removes beginning zeros from character strings when splitting.
Doing repeated assign statements in a for loop crashes S-PLUS 6 R2 after about 300 iterations.
Internal botch: inconsistent memory map files (fd==85) if too many files open in process that spawns S-PLUS. More likely to happen with Splus -j. Internal array is not be expanded properly.
The seq() function does not take a variable value for the length argument if the input is a vector of dates.
merge.data.frame returns incorrect results if the data frame includes timeDate columns.
Attempting to print this list of class named returns the error Problem in print: argument right= not matched: print(x[[i]], prefix =this[i], quote = ..1, right = ..2). Explicitly using print.default or print.list on the object works fine.
The default of the history function should be changed to reverse =F.
makeCallForMethod gets into trouble in parsing if the name it constructs for the local function is not syntactically a name. simple fix is just to delete the user-friendly code that constructs the local name for setReplaceMethod.
setAs requires the function supplied have argument `object' but doesn't check. Giving a `def' with the wrong argument list will produce an incorrect function with obscure errors or wrong results later. Solution: should translate the argument.
temp<-list(x=1:2, y=1:2); temp[1:5] <- 1 crashes S-PLUS 6.
Command line fails to produce output after typing graphsheet(). [NOTE: This was caused by having an HP printer installed as the default printer. S-PLUS should no longer crash due to having an HP printer installed as the default.]
warning("\n\tABC.\n\n") only prints out the word "Warning" with output if options(warn=1), not when options(warn=0) as in S-PLUS 2000. See reproduce.
S-PLUS 2000: 'x <- its(matrix(1:20, ncol=2), 1:10); summary(x)' produces error 'Error in UseMethod: Argument maxsum = maxsum". Works fine in S-PLUS 4.5 and S-PLUS 2000 Beta.
S-PLUS: aggregateSeries has an "off by one" bug.
For(i=1:5, x[i]<-i*i,prog="Splus") with x<-list(NULL) gives Error in system.results(ret, on.exec.status, on.exit.status, comma..: Unable to execute '"C:\MATHSOFT\SP2000"\cmd\Splus /MULTIPLEINSTANCES /BATCH_PROMPTS no /BATCH It5A7724.tmp', exec.status = 5 (Access is denied.) S-PLUS 2000 R3. [NOTE: This bug is fixed, but For() still doesn't work with the GUI version of S-PLUS for Windows.]
It is not possible to execute S-PLUS 6 in BATCH mode with the -j option. So, if one wishes to use functions like java.graph() in BATCH mode it can't be done.
timeDate quarters: If you want to change the timeDate format to print the quarters, the quarters are not correct.
S-PLUS 6 Windows R2: The following will crash S-PLUS: test <- 1:10; is.na[test].
Writing to network drives is very slow.
Running the following code twice in S-PLUS 6 will crash S-PLUS: ans _ NULL; For(j = 1:10, ans[j] _ rnorm(1)). [NOTE: This bug is fixed, but For() still doesn't work in the GUI version of S-PLUS for Windows.]
Short buffer given to realpath() kills match.path() when S-PLUS 6.0.4 starts up on certain Solaris machines. Output buffer should be PATH_MAX bytes long, which is usually 1024, but was only 255 bytes long.
S-PLUS: timeZoneConvert() does not work properly if the time zone is *NOT* GMT.
'apply()' returns wrong answer when using 'sum(..., na.rm=T)' as FUNC and the data contains NAs. This only happens when doing column-wise. Row-wise summing works.
S-PLUS 2000 Release 1: 'qcc()' still needs an 'individuals' option added, to create single-group control charts as referenced in Montgomery.
Using 'chisq.gof(data, mean = mean(data), sd = sqrt(var(data))/100)' produces "Error in tabulate(num, n.classes): nbins must be at least as large as max(bin)." Needs a much more informative error message.
predict.lm() does not work if newdata is given in the case where the model to be fit includes nested terms. Error message: "Number of columns of x should be same as number of rows of y".
The "subset" argument to 'lme()' does not work the same way as in 'lm()'. 'lm()' knows to look at variables defined in the data frame specified in the "data" argument, but 'lme()' has not been programmed this way.
s(..., df=integer) gives wrong answer because wrong mode is passed to .Fortran by s.wam().
step.glm() ignores user-specified values for 'control=glm.control(...)'. For example, if the user specifies 'maxit=20', 'step.glm()' resets it to 'maxit=10' before calling 'glm.fit()'.
predict.gam() fails if the original data were defined in a function rather than being stored on a permanent database.
chron("10/21/62","09:31:00") yields [1] (10/21/62 09:30:59). This happens with "09:32:00","21:31:00", and "21:32:00" as well, but only when the date is >= 10/21/62. NOTE: This is with chron library attached. Doesn't happen when it is not attached.
S-PLUS 2000, predict.glm is wrong. It uses estimated dispersion even where summary.glm uses fixed dispersion. Confusing to users and needs a dispersion parameter.
S-PLUS 2000: Several problems in the tree pruning code and predict.tree.
predict.lm/predict.glm: Proposed revisions add "..." to predict.lm. Add "dispersion" argument to predict.glm so users may specify the dispersion as in summary. [change made in 2000, not 5.1].
There is a problem with predict.gam and missing values. If you have a data set with missing values in the response and try to make predictions from a gam model for the whole data set, you will get an error message. This is for both UNIX and Windows versions of S-PLUS.
The twoway function, which performs median polish, calculates only single precision accuracy. As you might imagine, this causes problems because simple shifts (centering and scaling) of the response can cause drastic changes in the results.
S-PLUS 2000 Release 1: 'qcc(data=rnorm(100), std.dev=rep(1, 100), type="xbar")' should work (as noted in the help file), but it returns "Error: group sizes must be larger than one".
S-PLUS 2000 Release 1: 'qcc(data = rnorm(100), std.dev = rep(1, 100), type = "s")' should work (as noted in the help file), but it returns "Error: group size must be two or larger for s chart".
The rstab() function has an error in it. A correction was published in v.82(page 704) of the Journal of the American Statistical Association. Our code does NOT contain the correction.
glm(..., family=Gamma(identity)) gives incorrect results. Problem is bad default in glm.weight.
residuals are sometimes padded with NA's twice!
When using 'subset' argument in 'factanal()' with a factor variable, S-PLUS returns error 'Problem in close(file): only connection objects or character strings meaningful objects'. This only happens when method="mle". Does not happen in S+2000.
pchisq(1e14,1e14) gives an inaccurate result on some platforms
S-PLUS 6: Passing a vector of length 192 containing some negative numbers to acf() fails with the error: missing values in the midst of time series. Problem in acf(<call to acf>), There are missing values in midst of time series.
Setting tsp to NULL causes segmentation fault.
S-PLUS 2000: plot.kaplanMeier produces an error when se.fit=F in kaplanMeier. Reproduce: kaplanMeier(censor(days,event)~1,data=capacitor2,se.fit=F) Error in fit[, "time1"]: Array subscript (5) out of bounds.
Both calls 'skewness(rnorm(100000))' and 'kurtosis(rnorm(100000))' return 'NA' due to length(x) being of type "integer".
S-PLUS 2000's version of multicomp() incorrectly computes comparisons if the 'adjust=' argument is specified along with 'focus=...' and takes on a SUBSET of possible 'levels'.
ivp.ab() fails when called from a function, when using restart and derivatives is a function defined in a calling function.
We need to change the uninformative and weird error message: "Error in .Fortran("lowese",: extrapolation not allowed with blending" that is returned when users try to use predict.gam() and supply newdata with values that lie outside the range of the original data used in fit.
approx() gives incorrect results if some x values are equal after converting to single precision.
random.c:invibeta() can fail to converge without warning user. Affects qt(), qf(), and qbeta() functions.
xxx <- c(NA, -26214, 12240). summary(xxx[2]) gives incorrect answer of -26210 instead of -26214. Min. 1st Qu. Median Mean 3rd Qu. Max. -26210 -26210 -26210 -26210 -26210 -26210.
qgamma(0.64708466734737158,1.5989611284972984) gives NA in S-PLUS 6 for Solaris and issues the warning "Nonconvergence in in vigamma". This same code returns 1.746036 in S-PLUS 6 for Linux and Windows, S+2000, S+5.1 Solaris/Linux.
qchisq(.368035223, 26) returns NA with the warning message "Nonconvergence in in vigamma (p=0.368035,df=13) in: qchisq(0.368035223, 26)" in S-PLUS 6.0, but in S-PLUS 2000 it returns 23.01736.
The excel add-in VBA code fails to add the S-PLUS menu item in to the Excel menu bar when running in Portuguese Windows NT or higher (probably affects other language versions as well).
S-PLUS 6: Graphs do not export properly to PowerPoint when customized margins are set. In PowerPoint the graph is reduced in size and placed in the lower left corner of the page.
Creating graphs via the S-PLUS add-in in Excel will sometimes fail (100% memory usage in the task manager and must close S-PLUS and Excel from the Task Manager)
There is an error in the library maps county name file (county.N). The boundary segment file and the county name file are ordered differently so that the counties get plotted incorrectly.