FIXED BUGS LIST, TIBCO Spotfire S+ 8.1.1 I. FIXED BUGS II. ENHANCEMENTS ================================================================= I. FIXED BUGS EXTENSIONS (DEBUGGER) When you debugged a call to timeSeries, you would encounter an error saying that there was a problem in timeDate(): Argument "" is missing, with no default. (49344) EXTENSIONS (LIBRARIES) Financedb: If an invalid security ID was specified within the character string passed to import.data.bloomberg(...security=c("xxx", "yyy") ,...) no data was returned, (even if one or more of the security IDs were valid). (40852) robust: Calling covRob could cause Spotfire S+ to crash. This problem has been addressed; however, users should note that covRob will not always give you an answer for a small matrix. (42961) correlatedData: You were likely to see a strange log likelihood from Anova for glme objects when method="PQL". This behavior has been documented; PQL is not a good method to use with binomial and poisson models with small sample sizes. Recommend using LAPLACE instead. (48615) robust: The function lmRob did not work correctly if initial.alg="Fast". The lmRob.fit.compute function was not computing a default for nrep for certain algoroithms. Now, if no default for nrep is supplied, one is provided. (25151) EXTENSIONS (Spotfire S+ Workbench) If you tried to source several files by right- clicking in the Navigation pane, the Workbench would close. The Workbench now contains synchronized, wait, and notifyAll statements to keep the engine from being overrun with concurrent messages. (48159) If you tried to source code with F9, the code was not always sourced, and a 'tty' error message would appear. This parsing problem has been fixed. (48161) On Windows, if you tried running script in Workbench twice, it sometimes failed the second time. This was a problem with OLE code and has been fixed. (47879) If you use .First() to attach a project that is already attached, you would see the error "Unknown Problem Executing Expression", and the library set as the working project would become read-only. This is expected behavior. The workaround is to change the .First function so that it does not try to load a library that is already being used as a working directory. (45021) "Find References" in the Workbench highlights incorrectly if you search for references, and then edit the file. The result of the previous locations is preserved until the next time the file is saved. To solve this problem, the Workbench now prompts you to save the file prior to finding the references again. (43470) If you were using Acrobat Reader 8.0, you could not open PDF manuals from the Spotfire S+ Workbench Help menu. (45366) On Windows, you could not edit a file name in the java graph File > Save As dialog. (45439) EXTENSIONS (XML) Parsing SPXML containing certain accented characters returned the wrong characters. (45285) The SPXML library example summaryReport produced errors because of white space in the fo:table-cell. Any white space is now replaced with a carat (^) to indicate that the row value is the same as the row above it. (44775) EXTENSIONS (JAVA) The Spotfire S+ exception classes (SplusBadDataException, SplusEngineBusyException, SplusIncompleteExpressionException, and SplusLicenseException) each now give a meaningful message. (44517) EXTENSIONS (PACKAGES) Previous messages for running library(pkgutils) and install.pkgutils() were unclear. These have been rewritten for clarity. (44715) BATCH On Windows, you can now run an SBATCH command with a cwd parameter containing spaces. Previously, the spaces would cause the batch command to fail. (45249) GRAPHICS (APPEARANCE) The "Create Editable Graphics" option available from Options > Graphic Options can cause command line graphics to behave unpredictably. To revise a graphic generated by the command line, you should edit and run the code to re-generate the graph (48120) In the previous version, pdf.graph() did not use the global color palette correctly in conjunction with missing library functions. (49450) GRAPHICS (DEVICE) On Windows, a WMF file of a line plot with different line types and lwd>1 did not display properly in an Office 2003 application (for example, PowerPoint 2003). Lines were all solid (lty=1). (29716) GRAPHICS (DISPLAY) In the previous version, a plot.miss() graph was missing the y-axis (Observations) labels. (49453) On Windows, Multipanel GUI histograms had incorrect x axis scaling. That is, U(0,1) data was drawn with the x-axis from 0 to 1.8 with poorly-chosen numeric axis values. (20495) GRAPHICS (EXPORT) From the GUI, QQ Plot created an extraneous plot point when it was exported, most noticeably in .EMF format. (49339) GRAPHICS (OTHER) matplot() would not accept objects of data class "ns", and as.matrix() would not convert an "ns" object to a matrix. (46712) Scaling a Graphlet image to a very large size would cause an out-of-memory exception. Large images now render correctly. (49281) identify() and locator() now display crosshairs, as expected. (45376) The method plot.covRob now supports lists in its text labels. (45656) The argument srt did not work for boxplot(). It now works. (45257) pie() now produces a plot where all numbers are less than 1, and use.legacy.graphics(F). (45377) pie() now produces plots that are invariant to scaling when use.legacy.graphics(F). (45378) The fill argument to the legend() function now accepts named colors. (45374) When drawing a trellis plot with as.table=T, Spotfire S+ would not display the bottom x-axis if the layout caused the last panel to not be at the bottom of the page. (44723) Setting the graphical par(mar) would break graphical coordinates. (44730) GRAPHICS (SCRIPT FUNCTIONALITY) If you tried to set par(fig=) with a named vector, the call would cause an error, indicating that the parameter had the wrong length. par() now strips the names and all other attributes from the vectors given to it; however, note that the names were never functional. That is, if you gave the vector in the wrong order, par() does not reorder it based on the names. (49082) Specifying xlim or ylim when plotting small spans of data on a log scale would not work. (29843) GUI (DIALOGS) On English and Japanese Windows Vista Business edition, if you use the Aero color scheme, when you move a dialog box, the list boxes and radio buttons stay in the original position. The workaround for this issue is to use a different scheme. (48104) HELP help(sort) and help(order) now have see-also links to help(sort.list). (45320) IMPORT/EXPORT (DATABASE) In the previous version, you could not change the import delimiter for import.data.bloomberg. You can now change this option by changing the region-specific defaults and by setting the ASCII import delimiter. (45255) On Windows, in the option for importing a database via the GUI, the overwrite option was broken, so data would be appended to existing data. This issue is now fixed. Also, now, if you select "Create new data set" (previously "Overwrite target"), the "Start col" field is not available. Additional changes were made so the database and file import dialogs are more consistent. For example, in the Import From File dialog, the "Add to existing data set" option is now called "Insert at start col" (to match the Database Import dialog). Also, In the Import From Database dialog, the "Overwrite target" option is now called "Create new data set" (to match the File Import dialog). (49824) IMPORT/EXPORT (EXCEL) In the previous version, the colNames argument was ignored when an Excel type of file was imported. This problem is fixed for both file type .xls and .xlsx. (49401) On Windows, when importing data from an Excel file, Spotfire S+ would interpret the colNameRow argument as relative to the first non-blank row; however, the startRow argument is absolute from the beginning of the file. Now, Spotfire S+ uses only the startRow argument (not the colNameRow argument). Setting startRow=3 now causes the column names to be detected correctly automatically and the data to be read beginning in the row after the column names. (41869) MODELS coef.arima() did not extract the coefficient from a one-component model. This problem has been corrected. (45569) When the stop time in the newdata argument in survfit.coxph() was less than the second lowest stop time in the original dataset, the survfit() function returned an error. This problem has been corrected. (45226) interp() would cause an invalid frame number (0) in set_frame, while calling subroutine idsfft. (45406) OTHER Pressing Esc did not terminate printing a large object. Now, it terminates printing a large object after a short delay (regardless of the output buffering setting). (48115) Exporting Spotfire S+ objects to "STATA" created problems. This has been corrected in StatTran. (45390) Spotfire S+ now allows long column names of up to 256 characters. (28518) Exporting data to a text file truncated character data and column names at 30 characters, or exporting data to a text or Excel file truncated column names to 35 characters (depending on the version of Spotfire S+ being used). This truncation problem has been corrected. (19931) On Linux, the Splus.1 manual page no longer mentions Mathsoft. (44955) The state.vbm map files erroneously went missing in the Spotfire S+ distribution. They are back now. (24251) The persp() formatting option created syntax problems, which would, in turn, cause errors. (45133) PROGRAMMING The function deriv() now handles atan, asin, and acos. (10249) S LANGUAGE In the previous version, set.seed(0) and set.seed(512) gave strongly dependent sequences. Spotfire S+ offers several random number generators that improve its behavior. See help(set.seed) for more information. (44345) In the previous version, by() failed when passed a timeDate object. (48358) standardWorkingData() failed if the S_WORK path contained a $. This was because this function uses isDirectory(), which tried to Expand the $ as an environment variable. (48632) file.copy() no longer omits null bytes from copy. This problem occurred because of a bug in s_newio.c: printf("%c",0). That is, it would output nothing instead of null byte. This bug is fixed. (44462) Subscript replacement for a data frame now uses an updated version of "[<-.data.frame". Subscript replacement for a data frame now handles replacement for zero rows correctly; for example the following will now work when all values of z are less then 3. x[ which(z>3), 1:2] <- x[ which(z>3), 3:4]. (44855) S LANGUAGE (BIGDATA) bdTimeDate and timeDate returned inconsistent default years. (44927) The Big Data predict() methods erroneously required the response variable to be present. (44763) On Windows, previously, you could not load the bigdata library using a keyboard set to Japanese. This was due to virtual memory requirements for Java. (47998) In the previous versions, using table() on the output of cut(bdNumeric) did not output zero counts. (49073) bd.unique and bd.block.apply gave a warning or an error "Buf error: string truncated" for some values of bd.options("string.column.width") and character variables string width. (49015) If a function passed to bd.block.apply returned a zero-row data.frame containing a zero-length character vector, it would give an allocation error. (If the returned data.frame did not have character columns, this problem did not occur.) Now, the function checks for NA when it gets the max width of a string column. (48966) Dynamic memory errors would occur when Spotfire S+ tried to convert large vectors to bigdata objects. (43208) If bd.join were passed two inputs, it would treat the argument key.columns=c("a","b") as if it were key.columns=list("a","b"), rather than repeating the two key columns for each input (as if the argument were key.columns=list(c("a","b"),c("a","b")). (46619) The dimensionality of rmvnorm( n = n, d = d, bigdata = TRUE) was incorrect when n*d was large. (48583) bd.sort()converted factor values to NA when the level was labeled "NA" (47224) bigdata code now produces an "Output device full" error when it is appropriate. Previously, the error message was difficult to interpret. (48112) Using bigdata, if you fit a model involving factor predictors, and then used predict(fit, newdata=bdFrame(fac=)), you would get incorrect answers. Rather than return an error, predict used the integer codes for the factor you supplied in newdata and did not convert them to the codes used in the original data. (46767) Help indicated that step() should work for bdGLM. This incorrect entry has been removed; step() is not implemented for bdGLM. (48163) S LANGUAGE (METHODS/CLASSES) .Internal(do.m.m(...)) did not honor class inheritance. (48005) S LANGUAGE (OTHER) On Windows, dirname( search(what = "paths") ) returned unusable paths (containing "\\/"). (49038) When certain xlim or ylim arguments were used with hexbin(), Spotfire S+ would be left in an unstable state. This occurred when x and y values were out of bounds. Now, out-of-bound coordinates are filtered out and the problem no longer occurs. (45211) complete.cases() did not allow more than one recursement. (44716) Running the function supsmu() under Java could cause Spotfire S+ to crash. (44817) STATS/MODELS When glm was called inside another function, the resulting object would fail when summary() was used. (49176) print.aov() would give the wrong Residual Sum of Squares if the model had weights. (44645) print.survfit() produced unexpected median values. (49081) nlme.nlsList() did not parse formulas correctly. (48973) Spotfire S+ exhibited a problem with degrees of freedom in anova.glm when there were rows with 0 counts. (45020) =================================================== II. ENHANCEMENTS JAVA Spotfire S+ now displays more specific error messages in SplusSessionImpl creation of SplusEngineBusyExceptions. WORKBENCH Remote script execution is now implemented in the Spotfire S+ Workbench. Startup environment variables now work with the Spotfire S+ Workbench. Now, you can configure the Spotfire S+ Workbench to write output to either the Console view or the Output view. The default is to write to the Console. Now, you can set graph options in the Spotfire S+ Workbench programmatically. GRAPHICS Setting up a blank graphsheet is now easier. On Windows, java.graph() now interprets filename extensions to assign default formats as importData() and exportData() do. IMPORT/EXPORT Now, you can specify column widths on a per-column basis in importData. The new function contentsData returns the names of all datasets, tables, sheets, and members in a specified file or database. If the file is a type that cannot hold multiple datasets, then NULL is returned and a warning is displayed. Spotfire S+ now supports reading SAS metadata when importing SAS data files. Spotfire S+ has been updated to support the latest version of StatTran which results in being able to import Stata 10 files among other file types On Windows, you can now import SAS files created using PROC CPORT. OTHER Spotfire S+ now has friendlier startup messages when the directory you specify for startup does not exist. Spotfire S+ meets the Federal Desktop Core Compliance requirements. S LANGUAGE The function commandArgs() has been removed. Spotfire S+ functions pnorm, pgamma, and pbeta now include lower.tail and log.p arguments for R compatibility. Spotfire S+ now includes lfactorial() for R compatibility. The jitter function now includes an amount argument for R compatibility. dhyper and dwilcox now have a log argument for R compatibility. S LANGUAGE (BIGDATA) Spotfire S+ now contains Market Basket Analysis (Association Rules) Methods. See the Big Data User's Guide for more information. Now you can plot a histogram (using hist() or histogram()), specifying breaks for bigdata objects. bd.remove.missing() now carries the last observation forward without needing key column, and without displaying a warning. The ifelse() function now works with bigdata. S LANGUAGE (METHODS/CLASSES) Spotfire S+ now contains a timeFormat function that extracts the "format" slot from timeDate, timeSpan and timeSequence objects without using @ operator. STATISTICS Adjusted R squared is now part of model output.