FIXED BUGS LIST I. FIXED BUGS II. ENHANCEMENTS ================================================================= I. FIXED BUGS AUTOMATION EXTENSIONS If you have S-PLUS running and you try to use automation to start up the S-PLUS OEM kit edition, it will not start because it detects the presence of another S-PLUS instance. (31749) BIGDATA LIBRARY In S-PLUS big data, the data.dump() function failed to dump bdFrames returned from the bd.aggregate() function. (41037) S-PLUS big data could not add a scalar timeSpan to a big data timeDate vector. (31615) Calling table() with the returned value from cut(<>) created a bdNumeric vector that caused an error. (40978) The hist() function was unable to plot a big data vector containing the same value for each element. (41104) Merging bdTimeSeries objects did not work correctly with a small block size. (41669) The cut() function did not handle NA values in big data objects. (41670) The bd.join() function did not correctly return the column names after a join was perfomed. (41707) The bd.unstack() function became confused when a group column value was same as key column name. (42165) Getting min/max of a timeDate column in a bdFrame was slower than getting min/max of a numeric column. (42330) In S-PLUS big data, print.rows and print.cols arguments have been added to the bdSeries print method. For the bdVector print method, a print.elements argument that defaults to bd.options("print.bdVector.elements")[[1]] has been added. (31607) Previously, setting bd.options(max.block.mb = 100) and then running bd.by.group() on a large dataset resulted in a java.lang.OutOfMemoryError. The default value of java heap size has increased, and error messages now appear if bd.options block size is not set high enough. See Release Notes for more information. (31326) Some operations on bdFrame objects caused the loss of column names. (42310) Using cut() on a bdVector and specifying -Inf or Inf as part of breaks argument resulted in an error. (43398) bdTimeDate() and timeDate() returned inconsistent default years. (44927) The Big Data predict methods erroneously required the response variable to be present. (44763) CONNECT/JAVA The S-PLUS exception classes (SplusBadDataException, SplusEngineBusyException, SplusIncompleteExpressionException, and SplusLicenseException) each now give a meaningful message. (44517) SplusSessionImpl can issue an exception in two cases: if the S-PLUS engine is currently busy, or if the query times out. You now see a message describing the type of exception occurring in these cases. (44518) SplusSessionImpl can issue an exception in two cases: if the previous S-PLUS engine query was not completed, or if the query timed out waiting for the previous query to complete. You now see a message describing the type of exception occurring in these cases. (44519) EXPRESSION LANGUAGE When converting text to Double with the Expression Language's asDouble() function, negative signs were recognized but positive signs were not. For example, "-21" became 21, but "+42" became NA. (41020) GRAPHICS The following message was generated in the GUI if you ran Statistics-->Tree-->Tree Tools -->Histogram: "Warning messages: Retrieving data from kyphosis". (20593) When you drew a trellis plot with as.table=T, the bottom x-axis was not drawn if the layout caused the last panel not to be at the bottom of the page. This resulted in the x-axis not being drawn. (44723) Setting the graphical parameter par(mar) would break graphical coordinates. (44730) Specifying xlim or ylim when plotting small spans of data on a log scale would not work. (29843) Running Splus -j on Linux/UNIX with the DISPLAY variable set to an X server (such as XWin32 or Cygwin) on a PC sometimes caused java.graph() to position a window partially off the screen. This has been fixed such that java.graph() always positions windows within the display area, and alternates their position to prevent multiple windows from overlapping. (40979) After creating a horizontal bar graph through the GUI with a dataset, upon closing the graphsheet, S-PLUS could appear to be hung. It was actually just taking a long time to process a large number of data points. (25013) The trellis.settings data sets caused problems when the lists of the elements were different lengths. All of elements of the inner lists now have the same length. This avoids problems when calling trellis.par.set to change values in one of the inner lists. (21963) GRAPHICS APPEARANCE On Windows, there were inconsistencies between histograms generated from the GUI and histograms generated from the command line. (17704) GRAPHICS COMMAND_LINE The menuXyplot() function failed if the "groups" argument was specified and the grouping column had missing values. (25253) GRAPHICS DEVICE Plots on the java.graph device were limited to a maximum symbol size determined by cex=2.7 and csi=0.29. (31397) GRAPHICS DISPLAY The maxiumum text size in java.graph was approximately cex=2.7 or 2.8. (41097) GRAPHICS EXPORT On Windows, fill patterns such as crosshatching did not replicate correctly when the associated graphsheet was exported to a file in WMF format. The resulting WMF had more lines in hatching or diagonal than it should. (13075) On Windows, java.graph(file="abc") failed without generating an error message if "abc" already existed and was read-only. An error message is now generated in this situation. (41067) On Windows, the winjava library support for saving non-interactive Scalable Vector Graphics (SVG) files did not save an SVG file and did not generate an error message. Saving SVG files is now supported. (41803) GRAPHICS SCRIPT GENERATION The guiCreate("Legend"...) command did not appear in the history file after choosing "Insert" -> "Legend", but clicking the "Auto Legend" button did result in a guiCreate call. (20707) The "Horizontal Grouped Box" button in the ExtraPlots palette did not record its plot type in the History Log. The command 'guiPlot(PlotType = "", ....)' was recorded instead. (21188) GUI In wide multi-select list boxes, items sometimes appeared to become deselected when the user took no action to deselect them. For example, in a list box with a long list of options, all selected by default, an item could appear to become deselected if the user took another action such as selecting a check box. (40062) on Windows, With the Options-->General Settings-->Startup "Prompt for project folder" feature enabled, upon startup S-PLUS prompted with a default of C:/Documents and Settings/ regardless of the setting last time the program was exited. Also, when that startup feature was disabled, S-PLUS still prompted upon startup but did not include a drop-down list of recent directories. (31680) The file path displayed in the Open S-PLUS Project window did not allow you to scroll to the end of a long path. (41182) Selecting the S-PLUS Options-->General Settings-->Startup option "Set Region- specific defaults" could cause an error in the output date. (41385) In some cases, items in the Help -> Online Manuals menu in the Windows GUI would be disabled (greyed out) after upgrading to Adobe Reader 7.0. (43708) GUI DATA EDITOR The S-PLUS Big Data Viewer showed incorrect min and max values in the Date tab. (41571) GUI DIALOGS On Windows, the File-->Import Data-->From Database dialog generated an error and failed if you entered a SQL query containing line breaks. (41331) The Nonlinear Regression dialog saved fitted values as read-only. This has been changed to save as writable by default. (41558) In the S-PLUS GUI, Data-->Recode returned the wrong "Current Value" for factors that have numbers as levels (e.g., "1,2,3"). (41597) GUI GRAPHICS On Windows, a pie chart generated from the GUI using factors containing NA values displayed abnormal dots and slashes around the first slice drawn. If you resized the graph, the first slice sometimes changed colors and then disappeared. (21008) On Windows, line/Scatter plots created from large data sets that have a dashed line with a thickness of 2 or greater did not produce a smooth line. (22499) On 2D conditioned plots created from the GUI, changing the x Column from the Plot Summary dialog box (right-click-->Plot Summary) changed the x-axis label but the plot remained the same; it was not redrawn with the new data. (25547) On Windows, on 3D plots from the GUI, using factor variable for one of the axes caused axis labels to be displayed as numeric representation, not as the factor's text representation. (27575) On Windows, lines in plots created from the GUI were not smooth. This was especially apparent with horizontal lines. (27596) On Windows, Trellis (conditioned) GUI charts using the Robust LTS plot type failed. The plots were incorrect and fit line was missing. (28802) On Windows, generating a Contour Plot from the GUI caused a warning and the plot was not generated if you specified a subset in the “Subset Rows with" field. (28810) On Windows, when creating a trellis multipanel plot from the GUI, if you changed the strip fill color (by selecting Fills from the right-click menu and then selecting 'Save Panel Strips as default' from the right-click menu) and then created another multipanel plot. the strips had the old fill color. (29696) On Windows, when creating a conditioned bar plot from the GUI, if you had multiple bars with the same value, changing the bar color for the first one changed the color of all bars with that value. (30603) On Windows, on the first attempt to scroll to the bottom of a data set viewer in the GUI, the scroll bar did not reach the last line in the data set. (40327) On Windows,in a GUI scatter plot with symbols varied by color, the 'Select data points' tool did not highlight points in red. (40364) On Windows, in multi-page graphsheet, if you 'Convert to Objects' any page except the last. it moved to the last page and disappeared from the original. (40499) On Windows, modifying GUI boxplot WhiskerCalcStyle via command line resulted in 'bp.trunc' error and corrupt session. (40507) On Windows, plot borders were sometimes missing when printing multi-page GUI conditioned plots. (40545) On Windows, importing data via the GUI with attached .csv file produced the following error: "Syntax error: illegal "if" on input line 3". (40722) Immediately after starting S-PLUS, an error would be generated by a call to guiModify() with the argument VaryAxisRange=T to change a gui plot. (41352) On Windows, guiPlot("Bubble", DataSetValues=mydata) generated the following error message when subsequent calls to guiPlot(), attach() or detach() were made: 'Problem: Syntax error: illegal "[" on input line 1' . Interferes with detaching a data.frame. (28620) GUI OPTIONS Importing data via File-->Import Data-->From File caused the following error if you clicked the Show Columns button on the Columns tab: Syntax error illegal name ("guiOpenView") on input line 2 error. (41272) IMPORT/EXPORT On Linux, importData(type="DIRECT-*") caused the following error: "Cannot load library: libstsyb.so.1". However, no reason was given. (31631) An error was generated when the startRow argument was used in openData(). (40489) Upper-case letters in the column names of data frames were converted to lower-case by exportData(type="SPLUS"). (40568) On Unix, exportData type="SPLUS" did not output data.dump format. (40572) On Windows, when you imported data from an Excel file that contained NAs in a numeric column, the column would be imported as character, rather than numeric, and values might be truncated. (43350) On Windows, in the importData dialog, the Show Columns view on the columns tab displayed unwanted columns if the imported Excel data file contained a column offset. (44769) IMPORT/EXPORT ASCII On Windows, opening two files at once with openData() could lead to incorrect results from readNextDataRows or writeNextDataRows. (41438) The following parameters did not restrict the imported results to one row: importData:startRow=1, endRow=1. They returned the complete table. (31722) IMPORT/EXPORT DATABASE Native database connections did not work with SQL Server 2005 client. (40977) IMPORT/EXPORT FILE_IMPORT) S-PLUS now allows long column names of up to 256 characters. (28518) IMPORT/EXPORT FILE_EXPORT When exporting data with bigdata=TRUE, the maximum length of na.string was 8 characters. This has been increased to 11 characters (same as the maximum number of characters when exporting standard data). (31596) IMPORT/EXPORT ODBC On Windows, an error was generated when importing via ODBC with an umlaut character in the table name and bigdata=T. (41241) INSTALLATION On Windows, after an S-PLUS Windows installation was removed, the Windows Add/Remove Programs tool still listed entries for the S-PLUS modules, although the modules had been removed. (41028) LICENSE Running an S-PLUS 7 script named "server" via the command "Splus LICENSE server start" produced an error when there were multiple license files. (40701) Running S-PLUS from Java caused a FLEXlm License Finder dialog to appear. (40737) LICENSE EXTENSIONS On Linux, S-PLUS did not check out 00 license. although module() does check out a module license. This was due to a bug in S-PLUS LICENSE users; as flexlm server log file showed Linux licenses being checked in and out. (31715) MULTIVARIATE_ANALYSIS STATS/MODELS The summary.discrim() function failed with the following error if the group variable had level names that were not valid S-PLUS object names: Problem in "[.data.frame"(x, ..1, ..2): undefined columns selected. (23870) PACKAGES Previous messages for running library(pkgutils) and install.pkgutils() were unclear. (44715) PERFORMANCE In Windows, the Commands window did not scroll up or down when using the mouse wheel. (41982) In Windows, resizing the Commands window, and then saving the window size as the default resulted in a History Display error. (44742) In Windows, the state.vbm map files erroneously went missing in the S-PLUS distribution. They are back now. (24251) REGRESSION STATS/MODELS The multicomp function does not handle objects with class aovlist. The following error was generated: Problem in multicomp: argument adjust= not matched. This now returns a more informative error message. (28413) S LANGUAGE A problem with the assign() and get() functions caused S-PLUS to become unstable and generate the following error: "Problem in rbind.data.frame: Missing value where logical needed... Error during wrapup: No data to interpret as logical value" (31660) The merge() function did not handle the case where a vector was merged with a data.frame. (40524) The word "return" is not a reserved word in R. although it is the name of a function. In S-PLUS, it was reserved by the parser. (40774) Creating a class with an undefined class caused Workbench to crash. (40782) "The rm() function accepted only unquoted names, even if you used the backquote syntax to specify a non-syntactic name. (41119) The ymin argument to the plot.survfit() function did not work correctly. (15675) For scripts that generated the error: "Problem: internal error: trying to free an overwritten block of S storage, probably in frame 1" executing the code a second time caused S-PLUS to close. (30975) A call to if(expr || expr) failed if the left expr was NULL. (41254) If the number of milliseconds in timeSpan() was equivalent to less than 24 hours, result was not converted to days (for example, timeSpan(ms=86400000)). (43511) The function deriv() did not handle atan, asin, or acos. (10249) Running the function supsmu() in a while loop would cause S-PLUS to crash. (44817) complete.cases() did not provide expected results. (44716) Subscript replacement for a data frame now uses the current version of "[<-.data.frame", rather than an outdated version. Also, Subscript replacement for a data frame now handles replacement for zero rows correctly; e.g. this will now work when all values of z are < 3:x[ which(z>3), 1:2] <- x[ which(z>3), 3:4] (44855) The method file.copy omitted null bytes from the resulting copy. (44462) S LANGUAGE METHODS/CLASSES functionArgs<- replacement did not coerce a return back to a function. (41187) If you set options(warn=2), the message "Engine connection failure" was returned when a defining function with assignment was the last expression. Now, it returns more useful message. (41024) S-PLUS The crosstabs() function's na.action=na.include argument was ignored if the variable in the formula was numeric. (40757) The format() function on an NA numeric matrix with a justify argument did not keep dimension settings. (41185) trace(plot,browser) caused problems with F2 key (expand plot window to entire screen) and command echoing. (40052) The dumpClass() and dumpInterface() functions failed because they used cat(fill=2), which is only in SV4 (not in Splus or R). (40913) Calls to help and find.doc failed if the attached directory included the word "Data" (for example, FunctionalData). (40415) World map has been updated and errors fixed. (40928) The sconnect source code would not compile under Microsoft Visual Studio 2005. (42384) SPXML Using xml2pdf() to convert an XML file produced from a matrix by the createXMLFile() function resulted a PDF that contained only the header. (40066) The createXMLFile() function failed if winjava library was not loaded. (40421) An XML file larger than 35 MB could be processed by a command-line SAX xsl transformer but not by SPXML. (40881) The SPXML library example summaryReport produced errors because of white space in the fo:table-cell. (44775) STATS/MODELS The glme() function failed if the observations for one of the levels of a fixed effect factor variable were missing. (40818) The cmdscale() function failed if the optional k argument (desired dimensionality of the output space) was k=1. (41000) The results of cor.test() are now printed even if the correlation is greater than 0.999999. (41010) The nls() function did not return derivatives as expected. (41671) The plot.lmRob() function failed with the following error if final.alg="Adaptive":Problem in test.lmRob(object[[i]]): Tests for bias are only available for MM-estimates. (41731) The fix for the lmRob.fit.compute() function specified in the book "Robust Statistics: Theory and Methods" has been implemented (for details, refer to http://www.insightful.com/support/splusbooks/robstats/). (42062) The print.summary.survfit() function returns an error if the summary.survfit object is created using the design library. (41253) The R-squared value was not included in the summary of an mlm object. (40834) predict.gls might fail when passed newdata, and resulted in an array subscript out-of-bounds error. (41082) In the Robust library, if you called plot.lmfm, the plot was not correct when there was a single covariate in the model. print.aov displayed the wrong Residual Sum of Squares if the model had weights. (44645) WORKBENCH When you copy code from the Console View or the Output View, you now have the option of copying the prompts. See the help for S-PLUS preferences for more information. (31006) The S-PLUS Workbench now has a "Stop" button in the Console and other views (41494) Previously, the S-PLUS engine was not initialized until the Console Tab is activated Now, the S-PLUS engine is initialized when you start the Workbench. (41890) Previously, the Variables view default displayed all values of all variables. This could create problems for code that contained hundreds or thousands of variables. Now, the default limit is 100; however, the user can change this default. (41933) In the S-PLUS Workbench, the function .on.attach containing library(libname, T) did not load the library after toggling to project. This has been corrected. (41962) When you create an S-PLUS project in the Workbench, now, it is automatically set to be the working project, and a .Data directory is created, where the project's data objects are stored. The user can change this option to set the working directory to the workspace (and its .Data directory). (42002) Sometimes, formatting code in the S-PLUS Script Editor changed the color unexpectedly. This no longer occurs. (42028) The S-PLUS Workbench now automatically saves a script file before sourcing. (42035) The browser no longer displays an extra line prompt. (42059) The S-PLUS Workbench now uses the default Eclipse text editor sections; therefore, many options and preferences previously not available in the S-PLUS Script Editor now work as expected.. (41640) History view now displays the correct information in the tip box. (41916) Default font for Console/Output has changed from Tahoma 8pt Courier 10pt. (42825) The data viewer in the S-PLUS Workbench displayed incorrect matrix dimensions. (44550) The Workbench debugger did not always catch a breakpoint because of an error in array handling in an internal Eclipse function. (44617) Preference selections caused incorrect formatting of inline functions. (44719) Using the browser() function within the Workbench caused it to crash. (44759) When you specified a PDF viewer using S-PLUS Workbench preferences, the specified viewer opened in a modal dialog. (44760) In the Workbench, The S-PLUS Editor Syntax Highlighting (color) did not match what was displayed. (44870) WORKBENCH DEBUGGER Graphics now appear as expected when you work in the Debugger mode. (41886) Using the debugger and profiler can slow down computing time and consume a lot of memory. This problem has been partially addressed. (44754) =================================================== II. ENHANCEMENTS. JAVA You can now automatically load the JVM from within S-PLUS by calling a function (such as java.graph) that requires it. This change means that you do not need to accommodate the overhead of the JVM until you need it. WORKBENCH The right-click menu for the S-PLUS Script Editor has been enhanced. You can now source multiple files in the Workbench The .r file extenstion is now associated with S-PLUS color layout in the Workbench. Using the Find References menu item, you can now easily find all of the locations in a project where a certain function is called. Graph devices are now embedded in the Workspace view. They appear to the right of the Console/Output view: by default in the lower right corner. You can now format script blocks using the text editor preferences in the Workbench. You can now clear the Workbench Console View input line by pressing ESC. You can now enter multiple keywords at a time in the Workbench. The Search Path View now automatically refreshes when you select to toggle Working S-PLUS Project. The project name now is displayed in the Search Path view instead of the entire path to the project. You can now switch between views (for example, from Console view to Output view) at any time, even when you are running a command. In the Outline view, the view no longer collapses when you sort alphabetically. You can now access all manuals from the Help>S-PLUS Manuals menu option. The Workbench now includes a progress bar. The Workbench now features better visual cues to show when the Console or Output views are busy. In the Workbench, you can now copy prompts from the console. You can now set the working S-PLUS Project from the File menu. You can create packages in the Workbench. GRAPHICS The Line/Scatter Plot dialog now includes an option to vary line color. If you set the current graphics device with dev.set(), it now also sets guiSetCurrMetaDoc("GraphSheet", Name="x"), where "x" is the graphics device you just set with dev.set(). Then dev.cur() and guiGetCurrMetaDoc("GraphSheet") return the same graph sheet. The Data to Plot page of the Line/Scatter Plot dialog now includes a "Create Subset" button. trellis.par.get() now returns all possible arguments and parameters, fully expanded. You can now plot an empty graphsheet by calling the plot function and specifying no x and y length values. To set up the tick mark parameters, specify xlim and ylim. For example, plot(xlim=c(0,10), ylim = c(-1, 1)). The resulting plot has axes, but the default xlab and ylab will be "". S LANGUAGE The jitter() function now has an amount argument with a default value of 0. The dhyper() and dwilcox functions now each have a log argument. dhyper() sets log to FALSE by default; dwilcox() just uses the log of what it computes. S-PLUS now includes the function lfactorial(). STATS/MODELLING Default contrastshave changed from "helmert" to "treatment" In summary.lm, the correlation argument is now False by default. In plot.lmRob, the argument for which.plots is now "all" by default. OTHER On Linux. S-PLUS no longer links against library names with fixed version numbers. You can now increase the default java max heap size using the -Xmx option. The default time zone list now includes Western Europe Daylight Time (WED)