Q: emacs

General Note (by Jenny Bryan): Everything like this has a learning curve, but, for all of the above, the ultimate benefits make this painful phase worth enduring.

External Resources


AUCTeX: editing LaTeX files in Emacs

AUCTeX is an Emacs package that makes editing LaTeX documents so much easier. It has been installed and configured on StatNet servers (as of November 1, 2005). However, if you want to use it on your own computer, you'll need to download the package and install it yourself (it doesn't come with Emacs by default).

When emacs opens a file with a .tex extension, the additional menus are named LaTeX and Command

  • From the LaTeX menu you can select many environments without typing them (e.g. begin{enumerate} ... end{enumerate}). There are also convenient shortcuts to make typing mouse-free and even faster (e.g. C-c C-e to insernt an environment).
  • From the Command menu, you can run the latex, xdvi and pdflatex programs, etc, and do a spell check that ignores latex commands. Shortcuts are also available and are, in fact, quite smart: it only takes a couple of rounds of C-c C-c to compile the file and open the result in xdvi.

This tip is provided by Harry Joe. Seconded by Mike Danilov.

ESS: Emacs Speaks Statistics

ESS a GNU Emacs and XEmacs mode for interactive statistical programming and data analysis. It is particulary good for R and S-PLUS. It has been installed and configured on StatNet servers (as of November 1, 2005) but you'll need to install it yourself if you want to use it on your own computer.

ESS can be used to save/edit interactive sessions in Splus and R (as well as SAS, stata and other statistical packages).

  1. To start R in emacs, type: Alt-X R (assuming Alt is your Meta key).
  2. Within the R command prompt, hit Alt-P to access previous R commands and Alt-N to access next R commands (which can then be edited); the list of previous commands is cyclic, so the first hit of Alt-N will lead to the first command of your present session. Note: in a properly configured environment Shift-UpArrow and Shift-DownArrow work as well.
  3. Requesting help on a function will bring the help documentation in a split screen, so that you can copy and paste the examples to run etc
  4. There is function name completion with TAB (similar to command/filename completion in the bash shell)
  5. more details about ESS, consult the help ess info within emacs (Crtl-h m, when in ESS)

This tip is provided by Harry Joe. Seconded by Jenny Bryan and Mike Danilov.

UltraTex and Lightning Completion

The UltraTex and Lightning Completion packages (play very nicely with AucTeX) will also really speed up writing LaTeX and will make it virtually impossible to have mismatched parentheses, opened/closed environments, references to non-existent figures/table/sections, etc. (and many other maddening mistakes).

This tip is provided by Jenny Bryan.

Go to Top

Q: Regular expressions: examples illustrating common uses

Most common regular expressions

[0-9] digit
[a-z] lower case letter
[A-Z] upper case letter
[0-9a-zA-Z] digit or letter
[ ] space
[ t] space or tab
[^0-9a-zA-Z] not digit or letter
[0-9][a-z] digit followed by letter
[0-9]{3,5} (vi, grep, emacs) 3 to 5 digits in a sequence
[0-9]{3,5} (perl) 3 to 5 digits in a sequence
[ ]+ (vi, grep) one of more spaces in a sequence
[ ]+ (emacs/viper, perl) one of more spaces in a sequence
. any symbol but n (end of line)
z.{2}o (grep, vi, emacs) z followed by 2 chars followed by o
^ beginning of line
$ end of line
^[ ]*$ line with zero or more spaces and nothing else (vi, perl, grep, emacs)
^$ empty line
^[^0-9a-zA-Z t] line beginning with non-digit,letter,space
[0-9][0-9]/[0-9][0-9]/[0-9]{4} (vi, emacs, grep) mm/dd/yyyy date format
(vim) word beginning with doc
bdoc (perl, emacs/viper, grep) word beginning with doc
ment> (vim) word ending with ment
mentb (perl, emacs/viper, grep) word ending with ment

Using regular expressions

GREP USAGE

put regexp in quotes, e.g. grep "^[ ]*$" files

VI USAGE

for search use / or ? followed by regexp, for replacement, use something like :10,35s/regexp1/regexp2/g where the two numbers indicate the line range; this also works in 'sed' (stream editing/batch mode of vi), and no line range for sed means all lines (i.e, :1,$ )

EMACS USAGE

ESC C-r or ESC C-s for searching for regexp M-x replace-regexp for replacement of regexp1 with regexp2

Complex regexp editing may be best done from sed or perl scripts.

Summary of perl regular expressions (from a perl book)

/abc/ matches 'abc' anywhere in string
/^abc/ matches 'abc' at beginning of string
/abc$/ matches 'abc' at end of string
/a|b/ matches 'a' or 'b'
/ab{2,4}c/ matches 'a' followed by 2-4 'b's followed by 'c'
/ab*c/ matches 'a' followed by 0 or more 'b's followed by 'c'
/ab+c/ matches 'a' followed by 1 or more 'b's followed by 'c'
/ab?c/ matches 'a' followed by 0-1 'b's followed by 'c'
/./ matches any character except 'n'
/[abc]/ matches any of the characters within []
/[^abc]/ matches a character not within [^]
/(abc)/ matches 'abc' anywhere in string, parentheses as a memory, storing 'abc' in the variables ,,, etc e.g. /name=(.*)&user=1/
/abc/i matches 'abc' ignoring case
/d/ or /[0-9]/ matches a digit
/w/ or /[a-zA-Z0-9_]/ matches a character classified as a word
/s/ or /[ rtnf]/ matches a character classified as whitespace
/b/ matches a word boundary or a backspace
/D/ or /[^0-9]/ matches a character that is not a digit
/W/ or /[^a-zA-Z0-9_]/ matches a character that is not a word
/S/ or /[^ rtnf]/ matches a character that is not whitespace
/helloB/ requires that there is not word boundary (after hello)
/*/ matches *

Submitted by Harry Joe, 2006-04-21

Q: Where are the informal computing seminars from 2000?

Note: to untar a file, type tar -xvf (filename)

   UNIX Tools and VI: 

[TXT] UsingVi.txt             20-Jan-2000 14:48     3k  

[TXT] UsingViEnh.txt          20-Jan-2000 14:48     5k  
[TXT] Using_at_.txt           20-Jan-2000 14:48     2k  
[TXT] Using_grep_.txt         20-Jan-2000 14:48     1k  
[TXT] Using_tar_.txt          20-Jan-2000 14:48     1k  
[TXT] ViFAQ.txt               20-Jan-2000 14:48     2k  
[   ] atdemo.s                20-Jan-2000 14:48     1k  
[   ] atdemoscript            20-Jan-2000 14:48     1k  
[   ] example.dat             20-Jan-2000 14:48     2k  
[   ] format.pl               20-Jan-2000 14:48     1k  
[   ] list.tex                20-Jan-2000 14:48     2k  
[   ] mailscript              20-Jan-2000 14:48     1k  
[   ] mailscript1             20-Jan-2000 14:48     1k  
[   ] seminar.tar             20-Jan-2000 16:54    75k  
[   ] students                20-Jan-2000 14:48    38k  
[   ] table2html.pl           20-Jan-2000 14:48     1k  
[   ] table2tex.pl            20-Jan-2000 14:48     1k  
 

#README #Informal Computing Seminar - January 20, 2000 UsingVi.txt How to Use VI UsingViEnh.txt How to Use some of VIM's features (and Harry's Perl scripts) Using_at_.txt Using at - a process scheduler Using_grep_.txt Using grep - a pattern matcher Using_tar_.txt Using tar - a file packager ViFAQ.txt FAQ for VI atdemo.s File Used for demo of at atdemoscript File Used for demo of at example.dat Data file for illustration format.pl Harry's Perl script to format text list.tex An example TeX file mailscript File Used for demo of at mailscript1 File Used for demo of at students An example file for grep table2html.pl Harry's Perl script to convert table to HTML table2tex.pl Harry's Perl script to convert table to TEX

Speaker: Mark Robinson

Date:        January 20, 2000

   C stuff

Speaker: Mark Robinson

Date:        June 1, 2000

Q: KWord and AbiWord

KWord is used to open, edit, and print Microsoft Word document in Linux (e.g. Pascal, Fisher and Pearson server in the department install Linux system.).

To open a Microsoft Word document, type

kword filename.doc&

The interface of the KWord is quite similar to Microsoft Word.

It seems that the KWord could not save files as Microsoft Word document.

For more information, check the KWord webpage.

AbiWord is a Word processor which "will run on virtually any operating system". You can open, edit, and print Microsoft Word document by using AbiWord. It's simple and fast.

To open a Microsoft Word document by AbiWord, type

abiword filename.doc&

For more information, check the AbiWord webpage.

Q: OpenOffice.org

OpenOffice.org is a multi-platform open source office productivity suite. It includes the key desktop applications, such as a word processor, spreadsheet, presentation manager, and drawing program, with a user interface and feature set similar to other office suites. It has an ability to import documents in Microsoft formats such as *.doc or *.xls.

OpenOffice exists as ooffice on pearson on StatNet and as soffice on newton on StatNet

The components of the suite are called:

WRITER

text processor which can serve as a substitute for MS Word. The command file is normally called oowriter.

CALC

spreadsheet to substitute MS Excel. Command file: oocalc.

IMPRESS

presentation suite to take place of MS PowerPoint. Command file: ooimpress.

DRAW

image and diagrams editor. Command file: oodraw.

OpenOffice.org can also export text documents (such as imported from MSWord) and presentations (e.g. converted from MS PowerPoint) into PDF documents.

OpenOffice.org is being installed by default on most modern distributions of Linux and Solaris. However, it is available for Windows as well.

In StatNet, it is available on pascal server but cannot be used due to insufficient CPU speed and other resources (as of August 2004). It can also be run on undergraduate server ugrad.

Q: KSpread and Gnumeric (spreadsheet)

KSpread and Gnumeric can read Microsoft Excel files. The interface and the operation (e.g. short-cut key) of KSpread and Gnumeric are similar to those of Microsoft Excel. KSpread cannot save files as Microsoft Excel file format. Gnumeric can save files as Microsoft Excel (95) file format. Gnumeric can not read Microsoft Excel files which are created by higher version of Microsoft Excel than Microsoft Excel 95.

To open Microsoft Excel files, type

kspread filename.xls& or gnumeric filename.xls&

For more information, check webpages of

KSpread

and

Gnumeric

.

Q: How to use Unix text editor 'vim'?

To use the following features or short-cut keys, you may need to copy files .cppvim, .cvim, .fvim, .gvimrc, .htmlvim, .texvim, .viminfo, .vimrc from Dr. Harry Joe's home directory.


Go to the top

Basic Operations:

  • vi is a Visual Editor. The name vi is for Visual. Visual editors are ones that let you see multiple lines of the document that you are editing as you edit it.
  • vi editor has two modes (command mode and insert mode). In the command mode, you can input commands. In the insert mode, you can edit files. To enter into command mode, type ESC key. To enter into insert mode from command mode, type character i.
  • u --- undo
  • ctrl+r --- Redo
  • :wq --- save the file and quit from vi
  • :q! --- quit from vi without saving the file
  • Cursor movement (all commands listed below are entered in the command mode and commands are case sensitive)
    • G --- move to the end of the file
    • 1G --- move to the beginning of the file
    • :n --- move to the n-th row of the file (n is a non-negative integer)
    • :0 --- move to the beginning of the file
    • :5000 --- move to the end of the file (where 5000 can be any number which is larger than the total row number of the file)
    • :-n -- move up n rows from the current row (n is a non-negative integer)
    • :-6 -- move up 6 rows from the current row
    • ^ --- move to the first character in the row
    • 0 --- (zero) move to the beginning of the row
    • $ --- move to the last character in the row
    • w --- move to the beginning of the next word
    • b --- move to the beginning of the previous word
    • 6w --- move forward to the beginning of the 6-th word from the current position
    • 8b --- move backward to the beginning of the 8-th word from the current position
    • Ctrl+f --- move to the next page
    • Ctrl+b --- move to the previous page
    • h --- move to the previous character
    • l --- move to the next character
    • k --- move to the previous line
    • j --- move to the next line
    • use arrow keys, or ctrl+arrow keys, or pageup or pagedown keys (in either command mode or insert mode)
    • ) --- forward sentence
    • ( --- backward sentence
    • } --- forward paragraph
    • { --- backward paragraph
    • ]] --- forward section
    • [[ --- backward section
  • select, copy, and paste
    • To select text, use mouse (you can first use the mouse to hightlight part of text, then use arrow keys or pageup or pagedown key to highlight more text)
    • To select text in a rectangle region
      1. type Ctrl+v
      2. hold the left-button of the mouse and drag the mouse to select the desired rectangle region
    • ggvG --- to select all text in the current window
    • yy --- to copy the current line to the clipborad
    • 6yy --- to copy 6 lines from the current line (include the current line) to the clipboard
    • p --- (small letter "p") to paste the content in the clipboard to the next line
    • P --- (captial letter "P") to paste the content in the clipboard to previous line
  • delete or change characters, words, or lines
    • x --- to delete the current character
    • ra --- to replace the current character with the character "a" (you can replace "a" with any other character)
    • dw --- to delete the current word
    • dj --- to delete the current line and the next line
    • d} --- to delete from the current character to the end of this paragraph
    • 6dw --- to delete 6 words from the current word (including the current word)
    • cw --- to delete the current word and enter into insert mode (change the current word)
    • 6cw --- to delete 6 words from the current word (including the current word) and enter into insert mode (change the 6 words)
    • dd --- to delete the current line and copy it into the clipboard
    • 6dd --- to delete 6 lines from the current line (include the current line) and copy them into the clipboard
    • d^ --- to deletes from current cursor position to the first character of the line.
    • d0 --- (0 is zero, not character O) to deletes from current cursor position to the beginning of the row.
    • d$ --- to delete from the current current cursor position to the end of the line
    • D --- same as d$
  • search and replacement
    • /abc --- to search the word "abc"
    • /abc efg.r --- to search the phrase "abc efg.r"
    • n --- to find next
    • N --- to find previous
    • :s/abc/ef/g --- to replace the word "abc" with the word "ef" in the range of the whole file
    • :3,10s/abc/ef/g --- to replace the word "abc" with the word "ef" from the 3rd line to the 10 line.
    • :1,$s/abc/ef/g --- to replace the word "abc" with the word "ef" from the first line to the last line. It is equivalent to :s/abc/ef/g.
  • windows operation
    • ctrl+w+s --- to split the current window horizontally (ctrl+w+s means that first hold ctrl key, then type "w" and "s" sequentially, finally release ctrl key)
    • ctrl+w+v --- to split the current window vertically(ctrl+w+s means that first hold ctrl key, then type "w" and "s" sequentially, finally release ctrl key)
    • ctrl+w+q --- to close the current window
    • ctrl+w+w --- to jump the cursor to the next window
    • ctrl+w+= --- to equalize the sizes of windows
  • file operation
    • :e abc.txt --- to edit (or create) the file "abc.txt" in the current window (you can use TAB to complete the command)
    • :w abc.txt --- to write the content in the current window to the file "abc.txt" (you can use TAB to complete the command)
    • :w --- to save the current file
    • :w >> abc.txt --- to append the contents of the buffer to the file abc.txt.
  • Escaping to Shell
    • :!cmd --- to execute a single unix command
    • :sh --- to escape to shell. By doing this, you can execute many unix command. You can return to gvim by typing Ctrl+D
  • Recovering lost files

    If the system crashes while you are editing with vi, you can recover the work you were doing to within a few changes.

    To recover the file, abc.txt say, type command

    vi -r abc.txt To get a list of the files which are saved for you, type command vi -r
  • Misc
    • J --- join the next line with the current line
    • % --- find the matched (round, squared, or curly) brackets (first put the cursor to one of the bracket, then type % to find it's counterpart bracket)
    • . --- the period "." is used to repeat the previous operation
    • o --- the small letter "o" is used to create a new line under the current line and enter into the insert mode
    • O --- the capital letter "O" is used to create a new line above the current and enter into the insert mode
    • i --- to put the cursor in the current cursor position and enter into the insert mode
    • a --- to put the cursor after the current character and enter into the insert mode
    • I --- to put the cursor before the first character of the current line and enter into the insert mode
    • A --- to put the cursor after the last character of the current line and enter into the insert mode
    • :set number --- to view the line number
    • :set nonumber --- to remove the line number
    • ctrl+G --- to show the state (e.g. file name, the number of lines of the file) of the file you are editing.
    • `` --- (two back quotes) to get back to a previous position.
    • ~ --- to switch the case of the character under the cursor.

Go to the top

Create short-cut keys:

You can create short-cut keys for gvim. For example, you can type ",l" to compile latex file in the current gvim window. To do that, type the following mappings in the .vimrc file in your home directory:

map ,l :!latex % map ,b :!bibtex %< map ,x :!xdvi %<.dvi & map ,p :!pdflatex % & map ,f :!xpdf %<.pdf & map ,a :!acroread %<.pdf & map ,g :!ghostview %<.ps &

Go to the top

Transform a table to LaTeX format

(

This entry is provided by Mark Robinson in Informal Computing Seminar - January 20, 2000.

)

A really useful tool ... suppose you have a bunch of numbers which you want to put into a table in latex. This is a quick way to do it. You want to transform: 0.41 -1.00 0.27 0.01 -0.99 0.64 -2.90 0.24 -0.33 0.02 1.37 0.47 into: begin{center} begin{tabular}{|cccccc|} hline 0.41 & -1.00 & 0.27 & 0.01 & -0.99 & 0.64 -2.90 & 0.24 & -0.33 & 0.02 & 1.37 & 0.47 hline end{tabular} end{center} To do this, type (while in command mode) ":43,44!table2tex.pl" (the breakdown ... the 43,44 says it will only work on lines 45 to 46 and the !table2tex.pl will make a call a the Perl program ... note that you must have this Perl program in your current directory or some directory covered in your PATH variable)

(

You can obtain the source code of the file table2tex.pl at Dr. Harry Joe's webpage http://hajek.stat.ubc.ca/~harry/local/tabl2ltx.html

)

Go to the top

Transform a table to HTML format

(

This entry is provided by Mark Robinson in Informal Computing Seminar - January 20, 2000.

)

Start: 0.41 -1.00 0.27 0.01 -0.99 0.64 -2.90 0.24 -0.33 0.02 1.37 0.47 Make a call to ":67,68!table2html.pl" will produce: <TABLE border=5 cellpadding=5 cellspacing=3> <TR> <TD> 0.41</TD><TD> -1.00</TD><TD> 0.27</TD><TD> 0.01</TD><TD> -0.99</TD><TD> 0.64</TD></TR> <TR> <TD> -2.90</TD><TD> 0.24</TD><TD> -0.33</TD><TD> 0.02</TD><TD> 1.37</TD><TD> 0.47</TD> </TR> </TABLE> which you can include in an HTML file.

The source code of the file table2html.pl is as follows:

#! /usr/local/bin/perl #convert table to html #entries are centered justified #add parameter to <TD>to get left or right justification # for example <TD align="left"> print "<TABLE border=5 cellPadding=5 cellSpacing=3>n"; $i=0; while(<>) { chop($_); $line=$_; $line=~ s/^s+//; @fields=split(/s+/,$line); if($i==0) { $n2=0; foreach $itm (@fields) {$n2++;} } print " <TBODY> <TR>n"; for($j=0;$j<$n2;$j++) { print " <TD>", $fields[$j], "</TD>"; } print "<TR>n"; $i++; } print "</TBODY></TABLE>n";

Go to the top

Format (Splus) Output

(

This entry is provided by Mark Robinson in Informal Computing Seminar - January 20, 2000.

)

Say you have output from S-plus which you want to format a little better ... say you want to get rid of the first and third and last column and make the rest of the columns have 1,2,3,4 decimals points respectively First, above the output, type something like "0 8.1 0 8.2 8.3 8.4 0" (the 0's signify getting rid of that column, the a.b format signifies a width of a with b decimal points) Set it up like the following: 0 8.1 0 8.2 8.3 8.4 0 [1] -1.35861443 0.30258917 -0.57190688 0.27911763 0.41829340 -0.33448098 [7] 0.14098338 0.26156014 -0.67817408 0.27750322 0.70046690 1.63321662 [13] -0.87113567 -1.09045095 1.79157953 -0.05500772 0.14935190 0.52317747 [19] 1.22088326 -0.93934903 -1.11713757 -0.59225728 -1.59756826 0.10786151 [25] 0.37489964 1.20734204 -0.25157383 -0.43282194 -0.22918384 0.29038264 [31] -0.72439167 -1.34276791 0.65337613 0.89718566 0.43414847 0.54969927 [37] 0.79278406 -1.20080351 -0.64851697 0.85754266 0.57609186 1.17390791 [43] 0.79725791 1.80341577 1.29116587 -1.90582760 -0.29568917 -1.19636474 [49] 0.02651639 -0.61876364 2.48667007 -0.36526389 0.34067777 0.94685260 [55] -0.30327891 -2.18308852 1.70048157 -0.22125863 -0.47901244 0.41492965 [61] -1.58239934 -1.70093696 1.28804581 -0.59947646 -0.57224725 0.15351164 [67] 0.58445247 0.92078516 -0.60084557 -0.48747232 -0.29188598 -0.06975106 [73] 1.26688431 -0.65137419 -0.26926444 0.92899189 0.01798242 -0.25006773 [79] 0.40696346 -1.05068278 0.78963162 0.94104497 -0.55190809 0.97130390 [85] 0.45307721 -0.47658350 0.61146376 0.14271527 -0.45779235 0.61202598 [91] -0.66847263 0.71141322 -0.55144940 -0.94407312 -0.89556232 -1.72122285 Call ":91,107!format.pl" and it should change the above to: -1.4 -0.57 0.279 0.4183 0.1 -0.68 0.278 0.7005 -0.9 1.79 -0.055 0.1494 1.2 -1.12 -0.592 -1.5976 0.4 -0.25 -0.433 -0.2292 -0.7 0.65 0.897 0.4341 0.8 -0.65 0.858 0.5761 0.8 1.29 -1.906 -0.2957 0.0 2.49 -0.365 0.3407 -0.3 1.70 -0.221 -0.4790 -1.6 1.29 -0.599 -0.5722 0.6 -0.60 -0.487 -0.2919 1.3 -0.27 0.929 0.0180 0.4 0.79 0.941 -0.5519 0.5 0.61 0.143 -0.4578 -0.7 -0.55 -0.944 -0.8956

The source code of the file format.pl is as follows

:

#! /usr/local/bin/perl # formatting a data file (and also can extract subset of columns) $argc=$#ARGV+1; #print $argc,"n"; if($argc==1 && $ARGV[0]=~ /-h/) { print "usage: format.pl [-f w.d w.d ... w.d filename]n"; print "where w.d = 0 for excluding columnn"; print " otherwise w.d = width and number of decimal placesn"; print "If no '-f' flag, then first line of file has w.d ...n"; exit(0); } #for($i=0;$i<$argc;$i++) { print $ARGV[$i], " "; } #print "n"; if($ARGV[0] =~ /-f/) { $file=$ARGV[$argc-1]; $tem=shift(@ARGV); $argc-=2; print "ncol= ", $argc,"n"; open(STDIN,"<" . $file); } else { $_=<STDIN>; $_=~s/^s+//; $_=~s/s+$//; @ARGV=split(/s+/,$_); $argc=$#ARGV+1; #print @ARGV,"n"; } while(<STDIN>) { chop($_); $_=~s/^s+//; $_=~s/s+$//; @fields = split(/s+/,$_); $nfield=$#fields+1; $ncol=$argc; if($nfield<$ncol) { $ncol=$nfield+1; } for($i=0;$i<$ncol;$i++) { if($ARGV[$i]>0) { $fmt="%" . $ARGV[$i] . "f"; printf($fmt,$fields[$i]); } } print "n"; }

Go to the top

How to change the fontsize of the text in gVim?

You can use -fn flag. For example:

gvim -fn -*-*-*-*-*-*-*-250-*-*-*-*-*-*

The sequence

-*-*-*-*-*-*-*-250-*-*-*-*-*-*

is obtained by running the command

xfontsel&

and select the popup menu ptSz. Click the select button to copy the sequence to the buffer. Then you can paste the sequence to the terminal after command:

gvim -fn

For VIM 6.0, you can change the font from the Edit menu. Then select Select Font submenu.

Go to the top

gVim file explorer

From the Window menu of VIM 6.0, select Split File Explorer submenu. A file explorer will show on the left panel of the VIM 6.0 window. Double click a text file name in the file explorer. The text file will be shown in the right panel.

Q: Examples of SAS code and SAS usage (by Harry Joe)

SAS usage (by Harry Joe)

SAS examples

Note that SAS/IML can be used in "interactive mode" (but not as nice a Splus/R), with

sas -nodms

from the Unix command line. Then type 'proc iml' and create variables, vectors or matrices. Type 'endsas' to end your interactive SAS session. Alternatively submit IML statements from the SAS program window, and look for the output in the SAS output window (error messages in SAS LOG window).

SAS Insight for interactive data analysis

Step 1: convert an ascii/text file to SAS binary format (extension is .ssd or .ssd01 in Unix).

libname tem '/home/faculty/hjoe/s445'; data tem.iris; infile 'iris.dat' firstobs=2; /* first line consists of variable names */ /* the default field delimiter is one or more spaces */ /* there are special data formats in SAS */ input sepallen sepalwid petallen petalwid species $; run;

The result in /home/faculty/hjoe/s445 is

-rw-r--r-- 1 hjoe faculty 16384 Dec 10 14:35 iris.ssd01

Step 2. Starting SAS/Insight. By default, SAS/Insight will only find .ssd01 files if they are in your ~/sasuser directory. If your .ssd01 files are elsewhere, do something like below with the PROC INSIGHT.

libname s545 '/home/faculty/hjoe/s545'; proc insight data=s545.aes; run;

These 4 lines can be in a SAS file, eg. startida.sas, and started with the Unix command

sas startida.sas

or they can be typed in the SAS Editor Window and submitted.

SAS Toolbar

To assess your SAS data (.ssd) files interactively from menus and SAS INSIGHT, SAS FSVIEW, SAS FSEDIT, SAS FSBROWSE etc., add the path/directory names using 'libname' in your '~/autoexec.sas' file. For example, if /home/faculty/hjoe/s445 contains

iris.ssd01

and /home/faculty/hjoe/sasdata contains

customer.ssd01 employee.ssd01 invoice.ssd01 product.ssd01

then put the following into autoexec.sas (in your home directory)

libname s445 '/home/faculty/hjoe/s445'; libname sasdata '/home/faculty/hjoe/sasdata';

By default, SAS starts with

libname sasuse '~/sasuser';

A number of menus from a spreadsheet/database view can be accessed from the toolbar. For example,

  • If you have a directory ~/sasuser in your home directory with a SAS file houses.ssd01, then typing fsview sasuser.houses will bring up data set with menus, from which some SQL can be done from the Search menu. Similarly, fsview sasdata.customer will open sasdata/customer.ssd01. For string variables, you can type 'Where' strings such as empname like 'S%' or empname like '___k' For SQL mistakes, note the "Undo last where" option in the Search menu.

  • Typing fsedit sasdata.customer allows you to edit your SAS data set and re-save. Note that the data comes up in a form with a line for each variable.
  • Typing fsbrowse sasdata.customer leads to the same format of the data set as 'fsedit' but no editing can be done.

  • Typing insight will bring up a menu of your libname's from which you can choose your data set, or if you want to bring up a specific data, type something like insight data=s445.iris

  • You can also bring up s445.iris by going to the Program Editor Window, choose the Globals menu, then Analyze, then Interactive Data Analysis. Then choose s445 as the library (from left panel) and the data set from the right panel, and click the Open button.

Forecast

Why do the smoothing forecasts generated by the Time Series Forecasting System differ from those generated by PROC FORECAST?

The specific methods used in the two approaches differ in two ways. First of all, the Time Series Forecasting System optimizes the smoothing weights for a particular time series while the default smoothing values of PROC FORECAST are constants that do not depend on the data series. (With PROC FORECAST, the user may specify the weights explicitly, overriding the default weights of PROC FORECAST.) Secondly, the Time Series Forecasting System uses a smoothing state initialization different than that of PROC FORECAST. For further details, see pages 225-235 of the SAS/ETS Software: Time Series Forecasting System, Version 6, First Edition and pages 443-450 of the SAS/ETS User's Guide, Version 6, Second Edition. This information is also found in the Version 7 SAS OnlineDoc.

Pages