|
|
Dataplot IO
Introduction
|
As with any data analysis package, the first step in using it
is typically getting your data into the program.
|
Dataplot can read and write variables, parameters, strings (and functions), and matrices. Data can be read directly from the keyboard or from a file.
Free Format Reads (By Default)
|
By default, Dataplot performs free format reads. That is,
data is assumed to be in an ASCII text file with variables
separated by either spaces or commas (non-printing characters
such as tabs are treated as spaces). Free format reading has
the advantage of being flexible (data does not have to be
lined up neatly, you do not have to know what format your
data has), but it has the disadvantage of being slower (each
line has to be parsed). Dataplot can handle real numbers,
integers (stored internally as real numbers), and exponential
numbers (either E or D format, both stored internally as
single precision). Dataplot does not read character
data except when explicitly reading strings or functions.
|
NOTE: Dataplot now has a ROW LABEL command for reading row labels. This is the one exception regarding the reading of character data.
Formatted Reads Available
|
Although free format reading is the default, Dataplot does
provide various commands for specifying format options. This
includes commands for skipping header lines, restricting the
reads to given columns, skipping comment lines in the data
file, and the specification of Fortran-like FORMAT statements.
Using a FORMAT statement has significant performance benefits
(it is about 10 times faster than free format reading on most
systems). This performance benefit is typically only an issue
for large data sets. Formatted reading is rarely used for
small or moderate size data sets.
|
Contents
|
Dataplot contains the following commands for reading
data.
Dataplot contains the following commands for writing
data.
|
IO Chapter in the Reference Manual
|
The Dataplot Reference Manual contains a chapter specifically
for I/O commands.
These give detailed instructions and examples for the commands
discussed here.
|
We have added a page that summarizes the various options for reading ASCII files in Dataplot.
|
|
Reading Data From the Keyboard
Example of Reading Data From the Keyboard
|
The simplest way to get data into Dataplot is to read it
directly from the keyboard using the
READ or
SERIAL READ command.
For example,
|
130 18 225 14 95 25 100 19 170 13 65 31 175 14 END OF DATA
READ Command
|
The READ command contains a list of variables. All subsequent
lines are interpreted as data lines until an END OF DATA command
is encountered. Data values are separated with at least one
space (or commas or tabs). Each data line is read as one row
of the data variables (i.e., X(1) = 130, X(2) = 225, ... ,
X(7) = 175, Y(1) = 18, Y(2) = 14, ... , Y(7) = 14). Any extra
data items on the line are ignored. If there are fewer data
items on a line than there are variables, the missing data items
are set to 0 (earlier versions of Dataplot treated this as an
error).
|
SERIAL READ Command
|
This data can also be read as follows:
|
130 18 225 14 95 25 100 19 170 13 65 31 175 14 END OF DATA
Distinction Between READ and SERIAL READ
|
The SERIAL READ command reads the data values in as X(1),
Y(1), X(2), Y(2), X(3), Y(3), ..., X(7), Y(7). The SERIAL
READ uses all data values on the data lines. That is, the READ
command reads "down" while the SERIAL READ reads "across".
|
DATA Command
|
If you have a small amount of data, the
DATA command is a convenient
way to create a variable. For example,
|
LET Y = DATA 18 14 25 19 12 31 14
READ Command in a Macro File
|
Dataplot allows commands stored in an ASCII text file to be
executed with the
CALL
command. The READ, SERIAL READ, and DATA commands can be used
in Dataplot macro files to create data variables in the same way as
they are used directly from the keyboard. For example, suppose
the file PLOT.DP contains the lines
|
130 18 225 14 95 25 100 19 170 13 65 31 175 14 END OF DATA PLOT Y X
|
[ Dataplot /
Dataplot IO ]
|
|
|
|
Reading Dataplot Data Files
Built-In Data Files
|
Dataplot comes with a large number of previously created
data files. These are stored in a
special directory when Dataplot is installed. They can be
accessed directly without you knowing where this directory is.
For example, you can enter the commands
|
READ BERGER1.DAT Y X PLOT Y X FIT Y X
Direcotries Searched for File Names
|
When Dataplot encounters a data file on the READ command, it
first looks for it in the specified directory (the current
directory in the above example). If it does not find it there,
it then looks for it in the directory where the Dataplot data
files are stored. If your installation is unable to find these
Dataplot files, contact your local site installer for assistance.
|
SKIP Command
|
Most of the Dataplot data files contain header lines that
identify the contents of the file. The
SKIP command can be used
to skip these header lines.
|
LIST Command
|
The command
|
|
[ Dataplot /
Dataplot IO ]
|
|
|
|
Reading User Data Files
ASCII Data Files
|
In most cases, you will typically have your data stored in a
previously created file. In order to use these data files
with Dataplot, the data file should be an ASCII text file. You
can create the data file using a text editor or word processor,
as output from a Fortran or C program, or by whatever other
method is convenient. If your data is stored in the format
of another software package (e.g., as an Excel spreadsheet), save
the file as an ASCII text file if the package allows it. Dataplot
does not currently read package specific formats such as Excel.
|
|
|
Rules for File Names
|
The file name can be any valid file name for your system.
Dataplot normally limits the file name to 80 characters. If
the data file resides in a different directory than the one
you initated Dataplot from, you need to put the path name on
the file. This can be either an absolute path name or a relative
path name. One caution for Unix users is that "~/" cannot be
used to refer to your home directory (this is actually a
C shell contstruct that is not recognized by the Unix Fortran
compiler). Unix file names are case sensitive. For Unix,
Dataplot will try to match the file name first as entered,
then as all upper case characters, and finally as all lower
case characters. This normally makes the file names case
insensitive. The exception is if the file name contains a
mix of upper and lower case characters. In this event, you
need to enter the file name with the correct case.
|
Space Separated Data
|
The data values in your files should be separated with at least
one space. You can also use commas as separators. Non-printing
characters (e.g., tabs) are treated as spaces. Dataplot will
correctly read integer, real, and exponential (it recognizes
either E or D in exponential numbers, but it will store the
number internally in single precision regardless) numbers.
Alphbetic characters will result in an error.
|
READ Command
|
Once you have your data in an ASCII text file, you can use
the READ or
SERIAL READ commands
to read the data.
|
Read Example
|
Suppose you have a file called MYDATA.DAT with 3 data values
per line and 50 lines of data. You can then read this file
with the command
|
Period (".") Identifies a File Name
|
Dataplot identifies MYDATA.DAT as a file name rather than a
variable by the "." in the name. If your data file does not
contain a period, enter a trailing period on the READ command
(you do not have to rename the file to contain a period,
Dataplot will match the file anyway). For example, if your
data file is MYDATA, enter the command READ MYDATA. Y1 Y2 Y3.
If the trailing period is omitted, Dataplot will interpret
MYDATA as a variable name rather than a file.
|
SERIAL READ
|
The SERIAL READ command is similar to the READ command. However,
it reads "across" the data file rather than "down" the data
file as the READ command does. SERIAL READ is used rather
infrequently. The most common usage of SERIAL READ is when
reading data for a single variable where multiple values are
stored on each line.
|
|
[ Dataplot /
Dataplot IO ]
|
|
|
|
Reading Binary Data Files
Limited Support for Binary Files
|
Dataplot currently has limited support for binary data files.
It is limited to reading files created with Fortran
unformatted write. Dataplot does not read stream binary
files (as generated by C programs) or binary data files
created by popular software packages such as SAS, SPSS, Excel
and other spreadsheet programs. Most statistical and
spreadsheet software can write their data as ASCII text files.
This is the recommended procedure for transferring
data from these packages to Dataplot.
|
The ability to read byte stream binary files (generated by C programs) and Excel format files is on our list of desirable features to add to Dataplot.
Binary Data Files Rarely Used in Dataplot
|
Binary data files are infrequently used in Dataplot. The
primary advantage of binary data files is speed. For example,
a data file with 20,000 rows of data will typically take
several minutes to read using the default free format reads.
Using a Fortran like FORMAT typically reduces this to 10 or 20
seconds. However, using a binary read is nearly
instantanaeous. A secondary advantage is that binary files
are typically much smaller than ASCII text files. The primary
disadvantage is that the file is no longer viewable or
editable using standard text editors. In addition, the file is
typically not portable to other computer systems.
|
Large Versions of Dataplot
|
A few sites have created "mega" versions that are able to
accomodate a maximum of 100,000 rows or more of data per
variable. Binary I/O support was added primarily for these
mega versions where reading large data files can be too slow
using ASCII files. However, it can also be useful for the
standard size Dataplot when reading data files with 10,000
to 20,000 rows (particularly if these data files are used
frequently).
|
Fortran Unformatted Files Not Portable Across Computing
Platforms
|
Be aware that Fortran unformatted files are not pure byte
streams in the sense that C binary files are. That is, the
unformatted files contain header information. The Fortran
standard does not define the contents or size of that header.
Due to this non-standard header information and the fact that
different computer systems store real numbers differently,
Fortan unformatted files are not portable across
computer systems. You cannot generate a Fortran unformatted
write file on a Unix system and read it into the Windows PC
version of Dataplot. The unformatted file must be
created on the same system that Dataplot is running on.
|
Commands to Perform an Unformatted Read
|
An unformatted read is accomplished by entering the following
commands:
|
READ LARGE.DAT X1 X2 X3 SET READ FORMAT The SET READ FORMAT UNFORMATTED command specifies that subsequent reads should use Fortran unformatted read. Reading the file is then accomplished via the standard Dataplot READ command. The SET READ FORMAT command is entered to revert subsequent reads back to free format.
Two Ways to Create Fortran Unformatted Files
|
There are two ways to create the unformatted file in Fortran. For
example, suppose X and Y are to be written to an unformatted
file. The WRITE can be generated by:
|
Restrictions on Unformatted Read
|
Unformatted reading is supported only for variables or matrices
(i.e., not for parameters or strings). Also, it only applies
when reading from a file. The limits for the maximum number of
rows and columns for a matrix still apply (500 rows and 100
columns on most systems). When reading a matrix, the number of
columns must be specified via the SET UNFORMATTED COLUMNS
command. For example,
|
SET UNFORMATTED COLUMNS 25 READ MATRIX.DAT M
OFFSET and RECORDS to Control Which Portion of the File
is Read
|
The data is assumed to be a rectangular grid of data written in
a single chunk. Only single precision real numbers are
supported. By default, the entire file (up to the maximum
number of points) is read. DATAPLOT does provide two commands
to allow some control of what portion of the file is read:
|
SET UNFORMATTED RECORDS <value> The OFFSET specifies the number of data values at the begining of the file to skip. This is useful for skipping header lines (similar to a SKIP command for reading ASCII files) and other miscellaneous values. The RECORDS value is useful for reading part of a larger file.
|
[ Dataplot /
Dataplot IO ]
|
|
|
|
Formatting Input
Dataplot Commands for Reading Formatted Input Files
|
Dataplot provides the following commands for reading formatted
input files.
|
SKIP Command
|
The most common formatting command is SKIP. Many, if not most
data files, will contain some identifying comments at the
beginning of the file. The SKIP command specifies the number
of lines at the beginning of the data file to ignore on
subsequent reads. For example,
|
READ BERGER1.DAT Y X
Comment Lines in Data Files
|
Some data files also contain comment lines interspersed
between the data lines (e.g., to delineate different groups
of the data, to flag a questionable data value). Entering
the command COMMENT CHECK ON tells Dataplot to check for
comment lines on subsequent reads. A comment line is denoted
by a special character in column 1 of the data file. The
default comment character is a period ".". The COMMENT
CHARACTER command allows you to specify an additional
character to be a comment character (the "." will
be treated as a comment regardless). For example, the "#"
character is a common comment character on Unix systems
(COMMENT CHARACTER #). It is recommended that you not turn
on comment checking unless you need it since it slows down
the read. The command COMMENT CHECK OFF (the default) turns
off comment checking on subsequent reads.
|
ROW LIMITS Command
|
The ROW LIMITS and
COLUMN LIMITS are used
to restrict the read to specified rows and columns of the data
file respectively. The COLUMN LIMITS is the more frequently
used of these commands. It is useful for data files which
contain character variables (which would result in an error
if Dataplot tried to read them) or for data files in which
you only want to read a subset of the the variables. Examples
of these commands are
|
COLUMN LIMITS 25 100
The SET READ FORMAT Command
|
The SET READ FORMAT
command allows more specific control over
the formatting than the COLUMN LIMITS. The COLUMN LIMITS work
well if the variables you want to read are contiguous in the
file. However, if the variables you want to read are
intermixed with variables you want to skip. The SET READ
FORMAT allows you to read the file once in this case instead
of several times to extract each contiguous subset as the
COLUMN LIMITS command would require.
|
SET READ FORMAT for Faster Reading
|
The SET READ FORMAT
command is also sometimes useful for
obtaining better performance when reading large data files
(e.g., ones with several thousand rows of data). Free format
reads give sufficiently good performance for small and
moderate size data sets. However, data files with 10,000 to
20,000 rows may take several minutes to read (depending on
your system). Using a formatted read can speed the read up
10 - 15 times on most systems.
|
To perform formatted reads, enter a command like the following
Recognized Formats
|
Dataplot recognizes the F, E, G, and X formats. Integer
values should be read using an F format with zero decimals
(e.g., F3.0). Character formats (i.e., A) should not be used.
Dataplot does not perform any error checking on the specified
format or compare the data file for compatibility to the format.
To turn off formatted reads, enter the command
|
By default, Dataplot opens the file before reading it.
|
[ Dataplot /
Dataplot IO ]
|
|
|
|
Reading Parameters, Strings, Functions, and Matrices
The READ and SERIAL READ Commands
|
The READ and SERIAL READ commands read data into variables (i.e.,
1-dimensional arrays or columns). Sometimes you also need to
input parameters (i.e., scalars), strings, or matrices. Dataplot
provides the commands
READ PARAMETER,
READ STRING, and
READ MATRIX
to do this.
|
Reading a Parameter
|
To read a parameter from the keyboard, do something like the
following:
|
23
Reading Multiple Parameters
|
If you want to read more than one parameter, there are two ways
to do it. For example, suppose you want to store the parameters
P1, P2, and P3 in a file. You can store all 3 values on
a single line (separated by at least one space). In this case,
you would enter the command READ PARAMETER PAR.DAT P1 P2 P3 to
read the data. You can also store the parameters one per line.
In this case, to read the parameters you would enter:
|
SKIP 1 READ PARAMETER PAR.DAT P2 SKIP 2 READ PARAMETER PAR.DAT P3
Reading Strings
|
To read a string from the keyboard, do something like the
following:
|
Washington, DC To read a sting from a file, do something like the following:
Reading Multiple Strings
|
As with parameters, there are two ways to read more than one
string. For example, suppose you want to store the strings
S1, S2, and S3 in a file. You can store all three values on a
single line (separated by at least one space). In this case,
you would enter the command READ STRING STRING.DAT S1 S2 S3 to
read the strings. Alternativey, you can store the strings one
per line. In this case, to read the strings you would enter:
|
SKIP 1 READ STRING STRING.DAT S2 SKIP 2 READ STRING STRING.DAT S3
Matrices are 2-Dimensional Arrays
|
Matrices are 2-dimensional arrays. Dataplot automatically
determines the number of rows and columns in the matrix when
performing the read. It assumes each data line corresponds
to a single row of the matrix. If you have a large number of
columns, you may need to do a formatted read (free format
reads are restricted to 130 columns) or read a
binary file.
|
Reading a Matrix From the Keyboard
|
To read a matrix from the keyboard, do something like the
following:
|
Period (".") Identifies File Name
|
Dataplot identifies MAT.DAT as a file rather than a parameter
by the "." in the file name. If your file name does not
contain a ".", place a trailing period on the name in the
READ MATRIX command (e.g., READ MATRIX FILE. M).
|
Dataplot supports a number of special matrix commands.
|
[ Dataplot /
Dataplot IO ]
|
|
|
|
Writing Data to the Terminal
WRITE Command Used to Write to the Terminal
|
Use the WRITE command to
write the contents of a parameter, variable, string, or matrix
to the terminal. PRINT is a synonym for WRITE.
|
By default, Dataplot prints parameters and variables using exponential notation. The Formatting Output section describes commands for generating more readable output. Literal text can be printed by enclosing text in double quotes.
Dataplot Program Demonstrating Use of the WRITE Command
|
The following code segment and output demonstrates the use of
the WRITE command.
|
DIMENSION 100 COLUMNS SKIP 25 READ BERGER1.DAT Y X FOR I = 1 1 25 FIT Y X FEEDBACK ON ECHO ON WRITE "Y, X, PREDICTED VALUES, AND RESIDUAL VALUES" WRITE Y X PRED RES LET STRING F = BERGER1.DAT WRITE "COEFFICIENTS FROM THE FIT FOR ^F" WRITE A0 A1 . COLUMN LIMITS 20 132 READ MATRIX AUTO79.DAT M WRITE "FIRST 4 COLUMNS AND 20 ROWS OF MATRIX" WRITE M1 M2 M3 M4 FOR I = 1 1 20 LET CORR = CORRELATION MATRIX M SET WRITE DECIMALS 2 WRITE "CORRELATION MATIRX" WRITE CORR COLUMN LIMITS 1 20 ECHO OFF FEEDBACK OFF
LET NSKIP = K + 25 - 1 SKIP NSKIP READ STRING AUTO79.DAT S^K WRITE "MODEL ^K IS: ^S^K" WRITE S^K END OF LOOP |
|
*********************************************************** ** WRITE "Y, X, PREDICTED VALUES, AND RESIDUAL VALUES" ** *********************************************************** Y, X, PREDICTED VALUES, AND RESIDUAL VALUES ************************** ** WRITE Y X PRED RES ** ************************** VARIABLES--Y X PRED RES 0.1800000E+02 0.2020000E+02 0.1982716E+02 -0.1827159E+01 0.3800000E+02 0.5600000E+02 0.4243890E+02 -0.4438900E+01 0.1500000E+02 0.1250000E+02 0.1496374E+02 0.3626033E-01 0.2000000E+02 0.2120000E+02 0.2045877E+02 -0.4587723E+00 0.1800000E+02 0.1550000E+02 0.1685858E+02 0.1141422E+01 0.3600000E+02 0.3900000E+02 0.3170148E+02 0.4298519E+01 0.2000000E+02 0.2100000E+02 0.2033245E+02 -0.3324492E+00 0.4300000E+02 0.3820000E+02 0.3119619E+02 0.1180381E+02 0.4500000E+02 0.5560000E+02 0.4218625E+02 0.2813746E+01 0.6500000E+02 0.8190000E+02 0.5879768E+02 0.6202325E+01 0.4300000E+02 0.3950000E+02 0.3201729E+02 0.1098271E+02 0.3800000E+02 0.5640000E+02 0.4269155E+02 -0.4691546E+01 0.3300000E+02 0.4050000E+02 0.3264890E+02 0.3510994E+00 0.1000000E+02 0.1430000E+02 0.1610064E+02 -0.6100643E+01 0.5000000E+02 0.8150000E+02 0.5854503E+02 -0.8545029E+01 0.1000000E+02 0.1370000E+02 0.1572167E+02 -0.5721675E+01 0.5000000E+02 0.8150000E+02 0.5854503E+02 -0.8545029E+01 0.1500000E+02 0.2050000E+02 0.2001664E+02 -0.5016643E+01 0.5300000E+02 0.5600000E+02 0.4243890E+02 0.1056110E+02 0.6000000E+02 0.8070000E+02 0.5803974E+02 0.1960263E+01 0.1800000E+02 0.2000000E+02 0.1970084E+02 -0.1700836E+01 0.3800000E+02 0.5650000E+02 0.4275471E+02 -0.4754707E+01 0.1500000E+02 0.1210000E+02 0.1471109E+02 0.2889053E+00 0.2000000E+02 0.1960000E+02 0.1944819E+02 0.5518086E+00 0.1800000E+02 0.1550000E+02 0.1685858E+02 0.1141422E+01 ********************************** ** LET STRING F = BERGER1.DAT ** ********************************** INPUT FUNCTION = BERGER1.DAT OUTPUT FUNCTION = BERGER1.DAT THE NAME F HAS JUST BEEN EQUIVALENCED TO THE FUNCTION -- BERGER1.DAT ********************************************************* ** WRITE "COEFFICIENTS FROM THE FIT FOR BERGER1.DAT" ** ********************************************************* COEFFICIENTS FROM THE FIT FOR BERGER1.DAT ******************* ** WRITE A0 A1 ** ******************* PARAMETERS AND CONSTANTS-- A0 -- 0.7068579E+01 A1 -- 0.6316129E+00 ********* ** . ** ********* **************************** ** COLUMN LIMITS 20 132 ** **************************** THE COLUMN LIMITS (FOR READ AND SERIAL READ) HAVE JUST BEEN SET TO 20 132 ******************************** ** READ MATRIX AUTO79.DAT M ** ******************************** THE NUMBER OF HEADER LINES BEING SKIPPED = 25 INPUT DATA FILE SUMMARY INFORMATION-- INPUT UNIT DEVICE NUMBER = 31 INPUT FILE COLUMN LIMITS = 20 132 INPUT FILE ROW LIMITS = 1 INFINITY NUMBER OF HEADER LINES SKIPPED = 25 NUMBER OF DATA LINES READ = 74 NUMBER OF VARIABLES READ = 12 THE SCANNED REGION OF THE FIRST DATA LINE READ = 4099 22 3 2 2.5 27.5 11 2930 186 40 121 3.58 THE SCANNED REGION OF THE LAST DATA LINE READ = 11995 17 5 3 2.5 29.5 14 3170 193 37 163 2.98 MATRIX M -- 74 ROWS -- 12 COLUMNS VARIABLES COLUMN OBS/VARIABLE (= COLUMN VECTORS) M1 3 74 M2 4 74 M3 5 74 M4 6 74 M5 7 74 M6 8 74 M7 9 74 M8 10 74 M9 11 74 M10 12 74 M11 13 74 M12 14 74 ***************************************************** ** WRITE "FIRST 4 COLUMNS AND 20 ROWS OF MATRIX" ** ***************************************************** FIRST 4 COLUMNS AND 20 ROWS OF MATRIX **************************************** ** WRITE M1 M2 M3 M4 FOR I = 1 1 20 ** **************************************** ***** NOTE-- ROW START = 1 ROW INCREMENT = 1 ROW STOP = 20 INPUT NUMBER OF ROWS = 74 NUMBER OF ROWS AFFECTED = 20 OUTPUT NUMBER OF ROWS = 74 VARIABLES--M1 M2 M3 M4 0.4099000E+04 0.2200000E+02 0.3000000E+01 0.2000000E+01 0.4749000E+04 0.1700000E+02 0.3000000E+01 0.1000000E+01 0.3799000E+04 0.2200000E+02 -0.1000000E+01 -0.1000000E+01 0.9690000E+04 0.1700000E+02 0.5000000E+01 0.2000000E+01 0.6295000E+04 0.2300000E+02 0.3000000E+01 0.3000000E+01 0.9735000E+04 0.2500000E+02 0.4000000E+01 0.4000000E+01 0.4816000E+04 0.2000000E+02 0.3000000E+01 0.3000000E+01 0.7827000E+04 0.1500000E+02 0.4000000E+01 0.4000000E+01 0.5788000E+04 0.1800000E+02 0.3000000E+01 0.4000000E+01 0.4453000E+04 0.2600000E+02 -0.1000000E+01 -0.1000000E+01 0.5189000E+04 0.2000000E+02 0.3000000E+01 0.3000000E+01 0.1037200E+05 0.1600000E+02 0.3000000E+01 0.4000000E+01 0.4082000E+04 0.1900000E+02 0.3000000E+01 0.3000000E+01 0.1138500E+05 0.1400000E+02 0.3000000E+01 0.3000000E+01 0.1450000E+05 0.1400000E+02 0.2000000E+01 0.2000000E+01 0.1590600E+05 0.2100000E+02 0.3000000E+01 0.3000000E+01 0.3299000E+04 0.2900000E+02 0.3000000E+01 0.3000000E+01 0.5705000E+04 0.1600000E+02 0.4000000E+01 0.4000000E+01 0.4504000E+04 0.2200000E+02 0.3000000E+01 0.3000000E+01 0.5104000E+04 0.2200000E+02 0.2000000E+01 0.3000000E+01 *************************************** ** LET CORR = CORRELATION MATRIX M ** *************************************** THE NUMBER OF ROWS GENERATED FOR THE MATRIX CORR = 12 THE NUMBER OF COLUMNS GENERATED FOR THE MATRIX CORR = 12 THE FIRST COMPUTED ROW OF CORR = 0.100E+01-0.476E+00-0.152E-01 0.812E-01 0.128E+00 0.430E+00 0.327E+00 0.551E+00 0.440E+00 0.259E+00 THE LAST ( 12-TH) COMPUTED ROW OF CORR = -0.225E+00 0.501E+00 0.132E+00 0.139E-01-0.418E+00-0.364E+00-0.437E+00-0.620E+00-0.574E+00 0.341E-01 THE COLUMN VECTOR NAMES ASSIGNED TO MATRIX CORR ARE CORR1 CORR2 CORR3 ... THE WORKSHEET COLUMNS ASSIGNED TO MATRIX CORR ARE 15 TO 26 **************************** ** SET WRITE DECIMALS 2 ** **************************** THE FORTRAN COMMON CHARACTER VARIABLE WRITE HAS JUST BEEN SET TO 2 ********************************** ** WRITE "CORRELATION MATIRX" ** ********************************** CORRELATION MATIRX ****************** ** WRITE CORR ** ****************** MATRIX CORR -- 12 ROWS -- 12 COLUMNS VARIABLES--CORR1 CORR2 CORR3 CORR4 CORR5 CORR6 CORR7 CORR8 CORR9 CORR10 VARIABLES--CORR11 CORR12 1.00 -0.48 -0.02 0.08 0.13 0.43 0.33 0.55 0.44 0.26 0.50 -0.23 -0.48 1.00 0.25 0.10 -0.41 -0.49 -0.58 -0.82 -0.80 -0.50 -0.68 0.50 -0.02 0.25 1.00 0.75 -0.07 0.03 0.02 -0.21 -0.19 -0.16 -0.23 0.13 0.08 0.10 0.75 1.00 0.02 0.09 0.08 0.04 0.08 0.00 -0.01 0.01 0.13 -0.41 -0.07 0.02 1.00 0.52 0.66 0.50 0.51 0.17 0.40 -0.42 0.43 -0.49 0.03 0.09 0.52 1.00 0.64 0.59 0.63 0.33 0.49 -0.36 0.33 -0.58 0.02 0.08 0.66 0.64 1.00 0.68 0.72 0.41 0.57 -0.44 0.55 -0.82 -0.21 0.04 0.50 0.59 0.68 1.00 0.96 0.61 0.87 -0.62 0.44 -0.80 -0.19 0.08 0.51 0.63 0.72 0.96 1.00 0.61 0.80 -0.57 0.26 -0.50 -0.16 0.00 0.17 0.33 0.41 0.61 0.61 1.00 0.72 0.03 0.50 -0.68 -0.23 -0.01 0.40 0.49 0.57 0.87 0.80 0.72 1.00 -0.48 -0.23 0.50 0.13 0.01 -0.42 -0.36 -0.44 -0.62 -0.57 0.03 -0.48 1.00 ************************** ** COLUMN LIMITS 1 20 ** ************************** THE COLUMN LIMITS (FOR READ AND SERIAL READ) HAVE JUST BEEN SET TO 1 20 **************** ** ECHO OFF ** **************** THE ECHO SWITCH HAS JUST BEEN SET TO OFF MODEL 1 IS: AMC CONCORD FUNCTIONS-- S1 --AMC CONCORD MODEL 2 IS: AMC PACER FUNCTIONS-- S2 --AMC PACER MODEL 3 IS: AMC SPIRIT FUNCTIONS-- S3 --AMC SPIRIT MODEL 4 IS: AUDI 5000 FUNCTIONS-- S4 --AUDI 5000 MODEL 5 IS: AUDI FOX FUNCTIONS-- S5 --AUDI FOX
|
[ Dataplot /
Dataplot IO ]
|
|
|
|
|
Writing Data to a File
WRITE Command
|
Use the WRITE command to
write the contents of a parameter, variable, string, or matrix
to the terminal. PRINT is a synonym for WRITE. When writing
to a file, the first argument specifies the file name. For
example,
|
READ BERGER1.DAT Y X FIT Y X WRITE FIT.OUT Y X PRED RES
Period (.) Used to Identify File Name
|
Dataplot recognizes BERGER1.DAT as a file name rather than a
variable or parameter by the "." in the name. You need to put
a trailing period on the file name even if do not want a file
extension. For example, WRITE FIT. Y X PRED RES. It is
system dependent whether or not the file is saved with the
trailing period.
|
|
|
Exponential Format the Default
|
By default, Dataplot prints parameters and variables using
exponential notation. The Formatting
Output section describes commands for generating more
readable output.
|
Writing Literal Text
|
Literal text can be printed by enclosing text in double
quotes. This can be useful for adding header lines to data
files. The SET WRITE
REWIND command is usually required to put these header
lines in the file. For example,
|
READ BERGER1.DAT Y X FIT Y X SET WRITE REWIND OFF WRITE FIT.OUT "FILE: BERGER1.DAT" WRITE FIT.OUT "Y X PRED RES" WRITE FIT.OUT Y X PRED RES
|
[ Dataplot /
Dataplot IO ]
|
|
|
|
Formatting Output
WRITE Command Generates Exponential Numbers by Default
|
The commands
SET WRITE DECIMALS and
SET WRITE FORMAT can be
used to generate neater format from the WRITE command. By
default, Dataplot prints numbers in exponential format
(typically E15.7). For example,
|
READ BERGER1.DAT Y X FIT Y X WRITE Y X PRED RES FOR I = 1 1 25
Dataplot Output Generated by the WRITE Command
|
This generates the following output.
|
0.1800000E+02 0.2020000E+02 0.1976212E+02 -0.1762124E+01 0.3800000E+02 0.5600000E+02 0.4593590E+02 -0.7935900E+01 0.1500000E+02 0.1250000E+02 0.1413257E+02 0.8674317E+00 0.2000000E+02 0.2120000E+02 0.2049323E+02 -0.4932351E+00 0.1800000E+02 0.1550000E+02 0.1632590E+02 0.1674098E+01 0.3600000E+02 0.3900000E+02 0.3350701E+02 0.2492989E+01 0.2000000E+02 0.2100000E+02 0.2034701E+02 -0.3470123E+00 0.4300000E+02 0.3820000E+02 0.3292212E+02 0.1007788E+02 0.4500000E+02 0.5560000E+02 0.4564346E+02 -0.6434540E+00 0.6500000E+02 0.8190000E+02 0.6487167E+02 0.1283228E+00 0.4300000E+02 0.3950000E+02 0.3387257E+02 0.9127433E+01 0.3800000E+02 0.5640000E+02 0.4622834E+02 -0.8228345E+01 0.3300000E+02 0.4050000E+02 0.3460368E+02 -0.1603678E+01 0.1000000E+02 0.1430000E+02 0.1544857E+02 -0.5448568E+01 0.5000000E+02 0.8150000E+02 0.6457923E+02 -0.1457923E+02 0.1000000E+02 0.1370000E+02 0.1500990E+02 -0.5009902E+01 0.5000000E+02 0.8150000E+02 0.6457923E+02 -0.1457923E+02 0.1500000E+02 0.2050000E+02 0.1998146E+02 -0.4981457E+01 0.5300000E+02 0.5600000E+02 0.4593590E+02 0.7064100E+01 0.6000000E+02 0.8070000E+02 0.6399434E+02 -0.3994341E+01 0.1800000E+02 0.2000000E+02 0.1961590E+02 -0.1615901E+01 0.3800000E+02 0.5650000E+02 0.4630146E+02 -0.8301455E+01 0.1500000E+02 0.1210000E+02 0.1384012E+02 0.1159876E+01 0.2000000E+02 0.1960000E+02 0.1932346E+02 0.6765429E+00 0.1800000E+02 0.1550000E+02 0.1632590E+02 0.1674098E+01
SET WRITE DECIMALS Command
|
The easiest way to generate more readable numbers is to use
the SET WRITE DECIMALS command. This command specifies the
number of digits to use to the right of the decimal place.
For example,
|
READ BERGER1.DAT Y X FIT Y X SET WRITE DECIMALS 2 WRITE Y X PRED RES FOR I = 1 1 25
Generated Dataplot Output for the SET WRITE DECIMALS
Command
|
This generates the following output.
|
18.00 20.20 19.76 -1.76 38.00 56.00 45.94 -7.94 15.00 12.50 14.13 0.87 20.00 21.20 20.49 -0.49 18.00 15.50 16.33 1.67 36.00 39.00 33.51 2.49 20.00 21.00 20.35 -0.35 43.00 38.20 32.92 10.08 45.00 55.60 45.64 -0.64 65.00 81.90 64.87 0.13 43.00 39.50 33.87 9.13 38.00 56.40 46.23 -8.23 33.00 40.50 34.60 -1.60 10.00 14.30 15.45 -5.45 50.00 81.50 64.58 -14.58 10.00 13.70 15.01 -5.01 50.00 81.50 64.58 -14.58 15.00 20.50 19.98 -4.98 53.00 56.00 45.94 7.06 60.00 80.70 63.99 -3.99 18.00 20.00 19.62 -1.62 38.00 56.50 46.30 -8.30 15.00 12.10 13.84 1.16 20.00 19.60 19.32 0.68 18.00 15.50 16.33 1.67To resume default exponential format printing, enter the command SET WRITE DECIMALS (i.e., with no arguments).
SET WRITE FORMAT Command
|
For maximum control, use the
SET WRITE FORMAT
command. This command lets you specify a Fortran like FORMAT
statement. It supports the F (for floating point), E (for
exponential), and X (for spaces). It does not support A (for
character) or I (for integers). Integers can be printed by
using an F format with 0 digits. The use of formatted output
is demonstrated with the following example.
|
READ BERGER1.DAT Y X FIT Y X SET WRITE FORMAT F3.0,3X,F4.1,3X,F5.2,3X,E12.4 WRITE Y X PRED RES FOR I = 1 1 25
Generated Dataplot Output for the Formatted Write
|
This generates the following output.
|
18. 20.2 19.76 -0.1762E+01 38. 56.0 45.94 -0.7936E+01 15. 12.5 14.13 0.8674E+00 20. 21.2 20.49 -0.4932E+00 18. 15.5 16.33 0.1674E+01 36. 39.0 33.51 0.2493E+01 20. 21.0 20.35 -0.3470E+00 43. 38.2 32.92 0.1008E+02 45. 55.6 45.64 -0.6435E+00 65. 81.9 64.87 0.1283E+00 43. 39.5 33.87 0.9127E+01 38. 56.4 46.23 -0.8228E+01 33. 40.5 34.60 -0.1604E+01 10. 14.3 15.45 -0.5449E+01 50. 81.5 64.58 -0.1458E+02 10. 13.7 15.01 -0.5010E+01 50. 81.5 64.58 -0.1458E+02 15. 20.5 19.98 -0.4981E+01 53. 56.0 45.94 0.7064E+01 60. 80.7 63.99 -0.3994E+01 18. 20.0 19.62 -0.1616E+01 38. 56.5 46.30 -0.8301E+01 15. 12.1 13.84 0.1160E+01 20. 19.6 19.32 0.6765E+00 18. 15.5 16.33 0.1674E+01To turn off the formatted output, enter the command SET WRITE FORMAT (i.e., with no arguments).
|
[ Dataplot /
Dataplot IO ]
|
|
|
|
Writing Binary Data Files
Limited Support for Binary Data Files
|
Dataplot currently has limited support for writing binary
data files. It is limited to writing files with Fortran
unformatted write. Dataplot does not write stream binary
files (as generated by C binary writes) or binary data files
readable by popular software packages such as SAS, SPSS,
Excel and other spreadsheet programs. Most statistical and
spreadsheet software can read their data as ASCII text files.
This is the recommended procedure for transferring data from
Dataplot to these programs.
|
The ability to write byte stream binary files (as generated by C programs) and Excel format files is on our list of desirable features to add to Dataplot.
Writing Binary Files is Rare in Dataplot
|
Writing binary data files is rare in Dataplot. The primary
advantage of binary data files is speed. For example, a data
file with 20,000 rows of data will typically take several
minutes to write using the default free format reads. Using
a Fortran like FORMAT typically reduces this to 10 or 20
seconds (these times will vary depending on the speed of your
hardware, but the relative performance is comparable).
However, using a binary write is nearly instantanaeous. A
secondary advantage is that binary files are typically much
smaller than ASCII text files. The primary disadvantage is
that the file is no longer viewable or editable using
standard text editors. In addition, the file is typically
not portable to other computer systems.
|
In most cases, using Fortran-like formatted read and write provides sufficient performance to make the use of unformatted read and write unnecesary.
Versions of Dataplot that Accomodate Large Data Files
|
A few sites have created "mega" versions that are able to
accomodate a maximum of 100,000 rows or more of data per
variable. Binary I/O support was added primarily for these
mega versions where reading and writing large data files can
be too slow using ASCII files. However, it can also be
useful for the standard size Dataplot when reading data
files with 10,000 to 20,000 rows (particularly if these
data files are used frequently). For example, you can read
the original ASCII file the first time you use it, write it
as a binary unformatted write file, and then read the binary
file on subsequent uses of the file.
|
Fortran Unformatted Files Not Portable Across Computing Platforms
|
Be aware that Fortran unformatted files are not pure byte
streams in the sense that C binary files are. That is, the
unformatted files contain header information. The Fortran
standard does not define the contents or size of that header.
Due to this non-standard header information and the fact that
different computer systems store real numbers differently,
Fortan unformatted files are not portable across
computer systems. You cannot generate a Fortran unformatted
write file on a Unix system and read it into the PC Windows
version of Dataplot. The unformatted file must be
created on the same system that Dataplot is running on.
|
Commands for Generating an Unformatted Write
|
An unformatted write is accomplished by entering the following
commands:
|
WRITE LARGE.DAT X1 X2 X3 SET WRITE FORMAT
Two Ways to Create Unformatted Files
|
There are 2 ways to create the unformatted file in Fortran.
For example, suppose X and Y are to be written to an
unformatted file. The WRITE can be generated by:
|
Some Restriction on Binary Writes
|
Unformatted writing is supported only for variables or
matrices (i.e., not for parameters or strings). Also, it
only applies when writing to a file. The limits for the
maximum number of rows and columns for a matrix still apply.
|
|
[ Dataplot /
Dataplot IO ]
|
|
|
|
Writing Parameters, Strings, Functions, and Matrices
No Special Commands Required for WRITE
|
Unlike the READ command, no special commands are required for
writing parameters, strings, and matrices. Simply use the
WRITE command as you would
for writing a variable. Dataplot automatically recognizes the
data type and prints it accordingly.
|
|
[ Dataplot /
Dataplot IO ]
|
|
|
|
Generating Data
Random Numbers
|
Dataplot provides various commands for generating data.
Random numbers can be
generated for 60+ distributions. For example, to generate
100 normally distributed random numbers, enter the following
command:
|
SEQUENCE Command
|
The SEQUENCE command is
the most commonly used command for generating data. This
command is particularly useful for creating X axis variables
and group identifier variables.
|
Most Common Sequence
|
There are several forms this command can take. The most
common is to generate a sequence from 1 to N. For example,
to create the sequence 1, 2, 3, ..., 100 enter the command
|
Repeating the Entire Sequence
|
Extending on the previous example, suppose you want to repeat
the 1, 2, ..., 100 sequence for 5 groups of data. This can be
generated with the command
|
Repeating Each Value in the Sequence
|
Another common type of sequence is something like
1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, ...., 100, 100, 100, 100.
This sequence can be generated with the command
|
Example of the SEQUENCE Command in Generating the Grid for a
Contour Plot
|
The following example shows the use of the SEQUENCE command
in generating the X and Y axis variables for a contour plot.
The grid is from -4 to 4 with an increment of 1 in both the
X and Y axes. The SEQUENCE command is also used to generate
the contour levels (the Z0 variable).
|
LET Y = SEQUENCE -4 9 1 4 LET Z = X**2 + Y**2 - X*Y LET Z0 = SEQUENCE 5 5 40 CONTOUR PLOT Z X Y Z0 SET WRITE FORMAT 3(F3.0,3X) PRINT X Y Z
Data Values Generated for X, Y, and Z
|
The following values are generated for X, Y, and Z.
|
-4. -4. 16. -3. -4. 13. -2. -4. 12. -1. -4. 13. 0. -4. 16. 1. -4. 21. 2. -4. 28. 3. -4. 37. 4. -4. 48. -4. -3. 13. -3. -3. 9. -2. -3. 7. -1. -3. 7. 0. -3. 9. 1. -3. 13. 2. -3. 19. 3. -3. 27. 4. -3. 37. -4. -2. 12. -3. -2. 7. -2. -2. 4. -1. -2. 3. 0. -2. 4. 1. -2. 7. 2. -2. 12. 3. -2. 19. 4. -2. 28. -4. -1. 13. -3. -1. 7. -2. -1. 3. -1. -1. 1. 0. -1. 1. 1. -1. 3. 2. -1. 7. 3. -1. 13. 4. -1. 21. -4. 0. 16. -3. 0. 9. -2. 0. 4. -1. 0. 1. 0. 0. 0. 1. 0. 1. 2. 0. 4. 3. 0. 9. 4. 0. 16. -4. 1. 21. -3. 1. 13. -2. 1. 7. -1. 1. 3. 0. 1. 1. 1. 1. 1. 2. 1. 3. 3. 1. 7. 4. 1. 13. -4. 2. 28. -3. 2. 19. -2. 2. 12. -1. 2. 7. 0. 2. 4. 1. 2. 3. 2. 2. 4. 3. 2. 7. 4. 2. 12. -4. 3. 37. -3. 3. 27. -2. 3. 19. -1. 3. 13. 0. 3. 9. 1. 3. 7. 2. 3. 7. 3. 3. 9. 4. 3. 13. -4. 4. 48. -3. 4. 37. -2. 4. 28. -1. 4. 21. 0. 4. 16. 1. 4. 13. 2. 4. 12. 3. 4. 13. 4. 4. 16.
|
Privacy
Policy/Security Notice
NIST is an agency of the U.S.
Commerce Department.
Date created: 06/05/2001 |