Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/read.transpose.R
Read a text (e.g., csv) file, find rows with more than 3 sep
characters. Parse the initial contiguous block of those into a
matrix
. Add attributes
headers
, footers
,
and a summary
.
The initial application for this function is to read Table 6.16. Income and employment by industry in the National Income and Product Account tables published by the Bureau of Economic Analysis of the United States Department of Commerce.
1 2 | read.transpose(file, header=TRUE, sep=',',
na.strings='---', ...)
|
file |
the name of a file from which the data are to be read. |
header |
Logical: Is the second column of the identified data matrix to be interpreted as variable names? |
sep |
The field space separator charactor. |
na.strings |
character string(s) that translate into NA |
... |
optional arguments for |
1. txt <- readLines(file)
2. Split into fields.
3. Identifiy headers, Data, footers.
4. Recombine the second component of each Data row if necessary so all have the same number of fields.
5. Extract variable names
6. Numbers?
7. return the transpose
A matrix of the transpose of the rows with the max number of fields with attributes 'headers', 'footers', 'other', and 'summary'. If this matrix can be coerced to numeric with no NAs, it will be. Otherwise, it will be left as character.
Spencer Graves
1 2 3 4 5 6 7 8 9 | # Find demoFiles/*.csv
demoDir <- system.file('demoFiles', package='Ecdat')
(demoCsv <- dir(demoDir, pattern='csv$', full.names=TRUE))
# Use the fourth example
# to ensure the code will handle commas in a name
# and NAs
nipa6.16D <- read.transpose(demoCsv[4])
str(nipa6.16D)
|
Attaching package: ‘Ecfun’
The following object is masked from ‘package:base’:
sign
[1] "/usr/lib/R/site-library/Ecdat/demoFiles/NIPA6.16A20090820.csv"
[2] "/usr/lib/R/site-library/Ecdat/demoFiles/NIPA6.16B20080817.csv"
[3] "/usr/lib/R/site-library/Ecdat/demoFiles/NIPA6.16C20080817.csv"
[4] "/usr/lib/R/site-library/Ecdat/demoFiles/NIPA6.16D20130130.csv"
num [1:15, 1:34] 1998 1999 2000 2001 2002 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:34] "\U3e30613c" " Corporate profits with inventory valuation and capital consumption adjustments" "Domestic industries" " Financial /1/" ...
- attr(*, "headers")= chr [1:4] "Table 6.16D. Corporate Profits by Industry" "[Billions of dollars] " "Bureau of Economic Analysis " "Last Revised on: January 30, 2013 - Next Release Date February 28, 2013"
- attr(*, "footers")= chr [1:7] "Legend / Footnotes:" "1. Consists of finance and insurance and bank and other holding companies." "2. Consists of credit intermediation and related activities; securities, commodity contracts, and other financi"| __truncated__ "3. Consists of wood products; nonmetallic mineral products; primary metals; other transportation equipment; fur"| __truncated__ ...
- attr(*, "summary")= Named int [1:3] 4 7 34
..- attr(*, "names")= chr [1:3] "headers" "footers" "data"
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.