Command Reference : Working with Tables and Spreadsheets : Assigning Table Values

Assigning Table Values
You may modify the contents of cells in a table using assignment statements. Each cell of the table can be assigned either a string or a numeric value.
Assigning Strings
To place a string value into a table cell, follow the table name by a cell location (row and column pair in parentheses), then an equal sign and a string expression.
For example:
table bestres
bestres(1,6) = "convergence criterion"
%strvar = "lm test"
bestres(2,6) = %strvar
bestres(2,6) = bestres(2,6) + " with 5 df"
creates the table BESTRES and places various string values into cells of the table.
Assigning Numbers
Numbers can be entered directly into cells, or they can be converted to strings before being placed in the table.
Unless there is a good reason to do otherwise, we recommend that numbers be entered directly into table cells. If entered directly, the number will be displayed according to the numerical format set for that cell; if the format is changed, the number will be redisplayed according to the new format. If the number is first converted to a string, the number will be frozen in that form and cannot be reformatted to a different precision.
For example:
table tab1
tab1(3,4) = 15.345
tab1(4,2) = 1e-5
!ev = 10
tab1(5,1) = !ev
scalar f = 12345.67
tab1(6,2) = f
creates the table TAB1 and assigns numbers to various cells.
Assignment with Formatting
The setcell command is like direct cell assignment in that it allows you to set the contents of a cell, but setcell also allows you to provide a set of simple formatting options for the cell. If you desire even greater control over formatting, or if you wish to alter the format of a cell without altering its contents, you should use the tools outlined in “Customizing Tables”.
The setcell command takes the following arguments:
the name of the table
the row and the column of the cell
the number or string to be placed in the cell
(optionally) a justification code or a numerical format code, or both
The justification codes are:
“c” for centered (default)
“r” for right-justified
“l” for left-justified
The numerical format code determines the format with which a number in a cell is displayed; cells containing strings will be unaffected. The format code can either be a positive integer, in which case it specifies the number of digits to be displayed after the decimal point, or a negative integer, in which case it specifies the total number of characters to be used to display the number. These two cases correspond to the fixed decimal and fixed character fields in the number format dialog.
Note that when using a negative format code, one character is always reserved at the start of a number to indicate its sign, and if the number contains a decimal point, that will also be counted as a character. The remaining characters will be used to display digits. If the number is too large or too small to display in the available space, EViews will attempt to use scientific notation. If there is insufficient space for scientific notation (six characters or less), the cell will contain asterisks to indicate an error.
Some examples of using setcell:
setcell(tabres,9,11,%label)
puts the contents of %LABEL into row 9, column 11 of the table TABRES.
setcell(big_tabl,1,1,%info,"c")
inserts the contents of %INFO in BIG_TAB1(1,1), and displays the cell with centered justification.
setcell(tab1,5,5,!data)
puts the number !DATA into cell (5,5) of table TAB1, with default numerical formatting.
setcell(tab1,5,6,!data,4)
puts the number !DATA into TAB1, with 4 digits to the right of the decimal point.
setcell(tab1,3,11,!data,"r",3)
puts the number !DATA into TAB1, right-justified, with 3 digits to the right of the decimal point.
setcell(tab1,4,2,!data,-7)
puts the number in !DATA into TAB1, with 7 characters used for display.