313 lines
8.4 KiB
Plaintext
313 lines
8.4 KiB
Plaintext
%\VignetteIndexEntry{xtable Other Packages Gallery}
|
|
%\VignetteDepends{xtable}
|
|
%\VignetteKeywords{LaTeX, HTML, table}
|
|
%\VignettePackage{xtable}
|
|
% !Rnw weave = knitr
|
|
% \VignetteEngine{knitr::knitr}
|
|
%**************************************************************************
|
|
\documentclass{article}
|
|
\usepackage[a4paper, height=24cm]{geometry} % geometry first
|
|
\usepackage{array}
|
|
\usepackage{booktabs}
|
|
\usepackage{longtable}
|
|
\usepackage{parskip}
|
|
\usepackage{rotating}
|
|
\usepackage{tabularx}
|
|
\usepackage{titlesec}
|
|
\usepackage{hyperref} % hyperref last
|
|
\titleformat\subsubsection{\bfseries\itshape}{}{0pt}{}
|
|
\newcommand\p{\vspace{2ex}}
|
|
\newcommand\code[1]{\texttt{#1}}
|
|
\newcommand\pkg[1]{\textbf{#1}}
|
|
\setcounter{tocdepth}{2}
|
|
\begin{document}
|
|
|
|
\title{\bfseries\Large The Other Packages Gallery}
|
|
\author{\bfseries David J. Scott}
|
|
\maketitle
|
|
|
|
\tableofcontents
|
|
|
|
\newpage
|
|
|
|
\section{Introduction}
|
|
This document represents a test of the functions in \pkg{xtable} which
|
|
deal with other packages.
|
|
|
|
<<set, include=FALSE>>=
|
|
library(knitr)
|
|
opts_chunk$set(fig.path = 'Figures/other', debug = TRUE, echo = TRUE)
|
|
opts_chunk$set(out.width = '0.9\\textwidth')
|
|
@
|
|
|
|
The first step is to load the package and set some options for this document.
|
|
<<package, results='asis'>>=
|
|
library(xtable)
|
|
options(xtable.floating = FALSE)
|
|
options(xtable.timestamp = "")
|
|
options(width = 60)
|
|
set.seed(1234)
|
|
@
|
|
|
|
%% \section{The packages \pkg{spdep}, \pkg{splm}, and \pkg{sphet}}
|
|
|
|
%% Code for supporting these packages and most of the examples used in
|
|
%% this section was originally provided by Martin Gubri
|
|
%% (\url{martin.gubri@framasoft.org}).
|
|
|
|
%% \subsection{The package \pkg{spdep}}
|
|
%% \label{sec:package-pkgspdep}
|
|
|
|
%% First load the package and create some objects.
|
|
%% <<dataspdep>>=
|
|
%% library(spdep)
|
|
%% data("oldcol", package = "spdep")
|
|
|
|
%% data.in.sample <- COL.OLD[1:44,]
|
|
%% data.out.of.sample <- COL.OLD[45:49,]
|
|
|
|
%% listw.in.sample <- nb2listw(subset(COL.nb, !(1:49 %in% 45:49)))
|
|
%% listw.all.sample <- nb2listw(COL.nb)
|
|
|
|
%% COL.lag.eig <- lagsarlm(CRIME ~ INC + HOVAL, data = data.in.sample,
|
|
%% listw.in.sample)
|
|
%% class(COL.lag.eig)
|
|
%% COL.errW.GM <- GMerrorsar(CRIME ~ INC + HOVAL, data = data.in.sample,
|
|
%% listw.in.sample, returnHcov = TRUE)
|
|
%% class(COL.errW.GM)
|
|
%% COL.lag.stsls <- stsls(CRIME ~ INC + HOVAL, data = data.in.sample,
|
|
%% listw.in.sample)
|
|
%% class(COL.lag.stsls)
|
|
|
|
%% p1 <- predict(COL.lag.eig, newdata = data.out.of.sample,
|
|
%% listw = listw.all.sample)
|
|
%% class(p1)
|
|
%% p2 <- predict(COL.lag.eig, newdata = data.out.of.sample,
|
|
%% pred.type = "trend", type = "trend")
|
|
%% #type option for retrocompatibility with spdep 0.5-92
|
|
%% class(p2)
|
|
|
|
%% imp.exact <- impacts(COL.lag.eig, listw = listw.in.sample)
|
|
%% class(imp.exact)
|
|
%% imp.sim <- impacts(COL.lag.eig, listw = listw.in.sample, R = 200)
|
|
%% class(imp.sim)
|
|
%% @ %def
|
|
|
|
|
|
%% \subsubsection{\code{sarlm} objects}
|
|
%% \label{sec:codesarlm-objects}
|
|
|
|
%% There is an \code{xtable} method for objects of this type.
|
|
%% <<xtablesarlm, results = 'asis'>>=
|
|
%% xtable(COL.lag.eig)
|
|
%% @ %def
|
|
|
|
%% The method for \code{xtable} actually uses the summary of the object,
|
|
%% and an identical result is obtained when using the summary of the
|
|
%% object, even if the summary contains more additional information.
|
|
|
|
%% <<xtablesarlmsumm, results = 'asis'>>=
|
|
%% xtable(summary(COL.lag.eig, correlation = TRUE))
|
|
%% @ %def
|
|
|
|
%% This same pattern applies to the other objects from this group of packages.
|
|
|
|
%% Note that additional prettying of the resulting table is possible, as
|
|
%% for any table produced using \code{xtable}. For example using the
|
|
%% \pkg{booktabs} package we get:
|
|
|
|
%% <<xtablesarlmbooktabs, results = 'asis'>>=
|
|
%% print(xtable(COL.lag.eig), booktabs = TRUE)
|
|
%% @ %def
|
|
|
|
%% \subsubsection{\code{gmsar} objects}
|
|
%% \label{sec:codegmsar-objects}
|
|
|
|
|
|
%% <<xtablegmsar, results = 'asis'>>=
|
|
%% xtable(COL.errW.GM)
|
|
%% @ %def
|
|
|
|
%% \subsubsection{\code{stsls} objects}
|
|
%% \label{sec:codestsls-objects}
|
|
|
|
|
|
%% <<xtablestsls, results = 'asis'>>=
|
|
%% xtable(COL.lag.stsls)
|
|
%% @ %def
|
|
|
|
%% \subsubsection{\code{sarlm.pred} objects}
|
|
%% \label{sec:codesarlmpred-objects}
|
|
|
|
%% \code{xtable} has a method for predictions of \code{sarlm} models.
|
|
|
|
%% <<xtablesarlmpred, results = 'asis'>>=
|
|
%% xtable(p1)
|
|
%% @ %def
|
|
|
|
%% This method transforms the \code{sarlm.pred} objects into data frames,
|
|
%% allowing any number of attributes vectors which may vary according to
|
|
%% predictor types.
|
|
|
|
%% <<xtablesarlmpred2, results = 'asis'>>=
|
|
%% xtable(p2)
|
|
%% @ %def
|
|
|
|
%% \subsubsection{\code{lagImpact} objects}
|
|
%% \label{sec:codelagimpact-objects}
|
|
|
|
%% The \code{xtable} method returns the values of direct, indirect and
|
|
%% total impacts for all the variables in the model. The class
|
|
%% \code{lagImpact} has two different sets of attributes according to if
|
|
%% simulations are used. But the \code{xtable} method always returns the
|
|
%% three components of the non-simulation case.
|
|
|
|
%% <<xtablelagimpactexact, results = 'asis'>>=
|
|
%% xtable(imp.exact)
|
|
%% @ %def
|
|
|
|
%% \p
|
|
%% <<xtablelagimpactmcmc, results = 'asis'>>=
|
|
%% xtable(imp.sim)
|
|
%% @ %def
|
|
|
|
|
|
%% \subsubsection{\code{spautolm} objects}
|
|
%% \label{sec:codespautolm-objects}
|
|
|
|
%% The need for an \code{xtable} method for \code{spautolm} was expressed
|
|
%% by Guido Schulz (\url{schulzgu@student.hu-berlin.de}), who also
|
|
%% provided an example of an object of this type. The required code was
|
|
%% implemented by David Scott (\url{d.scott@auckland.ac.nz}).
|
|
|
|
%% First create an object of the required type.
|
|
|
|
%% <<minimalexample, results = 'hide'>>=
|
|
%% library(spdep)
|
|
%% example(NY_data)
|
|
%% spautolmOBJECT <- spautolm(Z ~ PEXPOSURE + PCTAGE65P,data = nydata,
|
|
%% listw = listw_NY, family = "SAR",
|
|
%% method = "eigen", verbose = TRUE)
|
|
%% summary(spautolmOBJECT, Nagelkerke = TRUE)
|
|
%% @ %def
|
|
|
|
%% \p
|
|
%% <<spautolmclass>>=
|
|
%% class(spautolmOBJECT)
|
|
%% @ %def
|
|
|
|
|
|
%% <<xtablespautolm, results = 'asis'>>=
|
|
%% xtable(spautolmOBJECT,
|
|
%% display = c("s",rep("f", 3), "e"), digits = 4)
|
|
%% @ %def
|
|
|
|
|
|
|
|
%% \subsection{The package \pkg{splm}}
|
|
%% \label{sec:package-pkgsplm}
|
|
|
|
%% First load the package and create some objects.
|
|
%% <<datasplm>>=
|
|
%% library(splm)
|
|
%% data("Produc", package = "plm")
|
|
%% data("usaww", package = "splm")
|
|
%% fm <- log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp
|
|
%% respatlag <- spml(fm, data = Produc, listw = mat2listw(usaww),
|
|
%% model="random", spatial.error="none", lag=TRUE)
|
|
%% class(respatlag)
|
|
%% GM <- spgm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp, data = Produc,
|
|
%% listw = usaww, moments = "fullweights", spatial.error = TRUE)
|
|
%% class(GM)
|
|
|
|
%% imp.spml <- impacts(respatlag, listw = mat2listw(usaww, style = "W"), time = 17)
|
|
%% class(imp.spml)
|
|
%% @ %def
|
|
|
|
|
|
%% \subsubsection{\code{splm} objects}
|
|
%% \label{sec:codesplm-objects}
|
|
|
|
%% <<xtablesplm, results = 'asis'>>=
|
|
%% xtable(respatlag)
|
|
%% @ %def
|
|
|
|
|
|
%% \p
|
|
%% <<xtablesplm1, results = 'asis'>>=
|
|
%% xtable(GM)
|
|
%% @ %def
|
|
|
|
|
|
|
|
%% The \code{xtable} method works the same on impacts of \code{splm} models.
|
|
|
|
%% <<xtablesplmimpacts, results = 'asis'>>=
|
|
%% xtable(imp.spml)
|
|
%% @ %def
|
|
|
|
%% \subsection{The package \pkg{sphet}}
|
|
%% \label{sec:package-pkgsphet}
|
|
|
|
%% First load the package and create some objects.
|
|
%% <<datasphet>>=
|
|
%% library(sphet)
|
|
%% data("columbus", package = "spdep")
|
|
%% listw <- nb2listw(col.gal.nb)
|
|
%% data("coldis", package = "sphet")
|
|
%% res.stsls <- stslshac(CRIME ~ HOVAL + INC, data = columbus, listw = listw,
|
|
%% distance = coldis, type = 'Triangular')
|
|
%% class(res.stsls)
|
|
%% @ %def
|
|
|
|
|
|
%% \subsubsection{\code{sphet} objects}
|
|
%% \label{sec:codesphet-objects}
|
|
|
|
%% <<xtablesphet, results = 'asis'>>=
|
|
%% xtable(res.stsls)
|
|
%% @ %def
|
|
|
|
|
|
|
|
\section{The \pkg{zoo} package}
|
|
\label{sec:pkgzoo-package}
|
|
|
|
|
|
<<zoo, results = 'asis'>>=
|
|
library(zoo)
|
|
xDate <- as.Date("2003-02-01") + c(1, 3, 7, 9, 14) - 1
|
|
as.ts(xDate)
|
|
x <- zoo(rnorm(5), xDate)
|
|
xtable(x)
|
|
@ %def
|
|
|
|
|
|
\p
|
|
|
|
<<zoots, results = 'asis'>>=
|
|
tempTs <- ts(cumsum(1 + round(rnorm(100), 0)),
|
|
start = c(1954, 7), frequency = 12)
|
|
tempTable <- xtable(tempTs, digits = 0)
|
|
tempTable
|
|
tempZoo <- as.zoo(tempTs)
|
|
xtable(tempZoo, digits = 0)
|
|
@ %def
|
|
|
|
|
|
\section{The \pkg{survival} package}
|
|
\label{sec:pkgsurvival-package}
|
|
|
|
|
|
<<survival, results = 'asis'>>=
|
|
library(survival)
|
|
test1 <- list(time=c(4,3,1,1,2,2,3),
|
|
status=c(1,1,1,0,1,1,0),
|
|
x=c(0,2,1,1,1,0,0),
|
|
sex=c(0,0,0,0,1,1,1))
|
|
coxFit <- coxph(Surv(time, status) ~ x + strata(sex), test1)
|
|
xtable(coxFit)
|
|
@ %def
|
|
|
|
\end{document}
|