pdf viewer c# winform : Adding an image to a pdf in preview Library application component .net html winforms mvc Paradis-rdebuts_en5-part2210

−2
−1
0
1
2
−2
−1
0
1
2
Ten random values
Ten other values
How to customize a plot with R (bis)
Figure 5: The functions par, plot and title.
tions. We will fancy a few arrangements such as changing the colour of the
plotting area. The commands follow, and the resulting graph is on Fig.6.
opar <- par()
par(bg="lightgray", mar=c(2.5, 1.5, 2.5, 0.25))
plot(x, y, type="n", xlab="", ylab="", xlim=c(-2, 2),
ylim=c(-2, 2), xaxt="n", yaxt="n")
rect(-3, -3, 3, 3, col="cornsilk")
points(x, y, pch=10, col="red", cex=2)
axis(side=1, c(-2, 0, 2), tcl=-0.2, labels=FALSE)
axis(side=2, -1:1, tcl=-0.2, labels=FALSE)
title("How to customize a plot with R (ter)",
font.main=4, adj=1, cex.main=1)
mtext("Ten random values", side=1, line=1, at=1, cex=0.9, font=3)
mtext("Ten other values", line=0.5, at=-1.8, cex=0.9, font=3)
mtext(c(-2, 0, 2), side=1, las=1, at=c(-2, 0, 2), line=0.3,
col="blue", cex=0.9)
mtext(-1:1, side=2, las=1, at=-1:1, line=0.2, col="blue", cex=0.9)
par(opar)
Like before, the default graphical parameters are saved, and the colour
of the background and the margins are modied. The graph is then drawn
with type="n" to not plot the points, xlab="", ylab="" to not write the
axis labels, and xaxt="n", yaxt="n" to not draw the axes. This results in
drawing only the box around the plotting area, and dening the axes with
respect to xlim et ylim. Note that we could have used the option axes=FALSE
but in this case neither the axes, nor the box would have been drawn.
47
Adding an image to a pdf in preview - insert images into PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sample C# code to add image, picture, logo or digital photo into PDF document page using PDF page editor control
how to add an image to a pdf file; add picture to pdf reader
Adding an image to a pdf in preview - VB.NET PDF insert image library: insert images into PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide VB.NET Programmers How to Add Images in PDF Document
how to add a jpg to a pdf; how to add a photo to a pdf document
How to customize a plot with R (ter)
Ten random values
Ten other values
−2
0
2
−1
0
1
Figure 6: A \hand-made" graph.
The elements are then added in the plotting region so dened with some
low-level plotting functions. Before adding the points, the colour inside the
plotting area is changed with rect(): the size of the rectangle are chosen so
that it is substantially larger than the plotting area.
The points are plotted with points(); a new symbol was used. The axes
are added with axis(): the vector given as second argument species the
coordinates of the tick-marks. The option labels=FALSE species that no
annotation must be written with the tick-marks. This option also accepts a
vector of mode character, for example labels=c("A", "B", "C").
The title is added with title(), but the font is slightly changed. The
annotations on the axes are written with mtext() (marginal text). The rst
argument of this function is a vector of mode character giving the text to be
written. The option line indicates the distance from the plotting area (by
default line=0), and at the coordinnate. The second call to mtext() uses
the default value of side (3). The two other calls to mtext() pass a numeric
vector as rst argument: this will be converted into character.
4.6 The grid and lattice packages
The packages grid and lattice implement the grid and lattice systems. Grid is
anew graphical mode with its own system of graphical parameters which are
distinct from those seen above. The two main distinctions of grid compared
to the base graphics are:
 a more  exible way to split graphical devices using viewports which could
be overpalling (graphical objects may even be shared among distinct
viewports, e.g., arrows);
48
C# PDF Page Insert Library: insert pages into PDF file in C#.net
applications. Support adding and inserting one or multiple pages to existing PDF document. Forms. Ability to add PDF page number in preview. Offer
add jpg to pdf; acrobat add image to pdf
C# PDF insert text Library: insert text into PDF content in C#.net
Supports adding text to PDF in preview without adobe reader installed in ASP.NET. Powerful .NET PDF edit control allows modify existing scanned PDF text.
add jpg to pdf online; how to add photo to pdf in preview
 graphical objects (grob) may be modied or removed from a graph with-
out requiring the re-draw all the graph (as must be done with base
graphics).
Grid graphics cannot usually be combined or mixed with base graphics
(the gridBase package must be used to do this). However, it is possible to use
both graphical modes in the same session on the same graphical device.
Lattice is essentially the implementation in R of the Trellis graphics of
S-PLUS. Trellis is an approach for visualizing multivariate data which is par-
ticularly appropriate for the exploration of relations or interactions among
variables
14
. The main idea behind lattice (and Trellis as well) is that of con-
ditional multiple graphs: a bivariate graph will be split in several graphs with
respect to the values of a third variable. The function coplot uses a similar
approach, but lattice oers much wider functionalities. Lattice uses the grid
graphical mode.
Most functions in lattice take a formula as their main argument
15
, for
example y ~ x. The formula y ~ x | z means that the graph of y with
respect to x will be plotted as several graphs with respect to the values of z.
The following table gives the main functions in lattice. The formula given
as argument is the typical necessary formula, but all these functions accept
aconditional formula (y ~ x | z) as main argument; in the latter case, a
multiple graph, with respect to the values of z, is plotted as will be seen in
the examples below.
barchart(y ~ x)
histogram of the values of y with respect to those of x
bwplot(y ~ x)
\box-and-whiskers" plot
densityplot(~ x)
density functions plot
dotplot(y ~ x)
Cleveland dot plot (stacked plots line-by-line and
column-by-column)
histogram(~ x)
histogram of the frequencies of x
qqmath(~ x)
quantiles of x with respect to the values expected under
atheoretical distribution
stripplot(y ~ x)
single dimension plot, x must be numeric, y may be a
factor
qq(y ~ x)
quantiles to compare two distributions, x must be nu-
meric, y may be numeric, character, or factor but must
have two ‘levels’
xyplot(y ~ x)
bivariate plots (with many functionalities)
levelplot(z ~ x*y)
contourplot(z ~ x*y)
coloured plot of the values of z at the coordinates given
by x and y (x, y and z are all of the same length)
cloud(z ~ x*y)
3-D perspective plot (points)
wireframe(z ~ x*y)
id. (surface)
splom(~ x)
matrix of bivariate plots
parallel(~ x)
parallel coordinates plot
Let us see now some examples in order to illustrate a few aspects of lattice.
The package must be loaded in memory with the command library(lattice)
14
http://cm.bell-labs.com/cm/ms/departments/sia/project/trellis/index.html
15plot()alsoacceptsaformulaasits mainargument: : if f xandyaretwovectorsofthe
same length, plot(y ~ x) and plot(x, y) will give identical graphs.
49
VB.NET PDF insert text library: insert text into PDF content in vb
Multifunctional Visual Studio .NET PDF SDK library supports adding text content to adobe PDF document in VB.NET Add text to PDF in preview without adobe
adding image to pdf; attach image to pdf form
C# Create PDF Library SDK to convert PDF from other file formats
Load PDF from existing documents and image in SQL server. Besides, using this PDF document metadata adding control, you can add some additional
add photo to pdf preview; add jpg to pdf acrobat
x
Density
0
0.1
0.2
0.3
0.4
0.5
0.6
−4
−2
0
2
4
n = 5
n = 10
−4
−2
0
2
4
n = 15
n = 20
n = 25
0
0.1
0.2
0.3
0.4
0.5
0.6
n = 30
0
0.1
0.2
0.3
0.4
0.5
0.6
n = 35
n = 40
−4
−2
0
2
4
n = 45
Figure 7: The function densityplot.
so that the functions can be accessed.
Let us start with the graphs of density functions. Such graphs can be
done simply with densityplot(~ x) which will plot a curve of the empirical
density function with the points corresponding to the observations on the x-
axis (similarly to rug()). Our example will be slightly more complicated with
the superposition, on each plot, of the curves of empirical density and those
predicted from a normal law. It is necessary to use the argument panel which
denes what is drawn on each plot. The commands are:
n <- seq(5, 45, 5)
x <- rnorm(sum(n))
y <- factor(rep(n, n), labels=paste("n =", n))
densityplot(~ x | y,
panel = function(x, ...) {
panel.densityplot(x, col="DarkOliveGreen", ...)
panel.mathdensity(dmath=dnorm,
args=list(mean=mean(x), sd=sd(x)),
col="darkblue")
})
The rst three lines of command generate a random sample of independent
normal variates which is split in sub-samples of size equal to 5, 10, 15, . .., and
45. Then comes the call to densityplot producing a plot for each sub-sample.
panel takes as argument a function. In our example, we have dened a func-
tion which calls two functions pre-dened in lattice: panel.densityplot to
draw the empirical density function, and panel.mathdensity to draw the den-
sity function predicted from a normal law. The function panel.densityplot
is called by default if no argument is given to panel: the command densityplot
50
C# Word - Insert Image to Word Page in C#.NET
Preview Document. Conversion. Convert Word to PDF. Convert Word to HTML5. VB.NET How-to, VB.NET PDF, VB.NET Word It's a demo code for adding image to word page using
how to add picture to pdf; add a picture to a pdf document
C# PowerPoint - Insert Image to PowerPoint File Page in C#.NET
Preview Document. Conversion. Convert PowerPoint to PDF. Convert PowerPoint to Pages. Annotate PowerPoint. Text Search. Insert Image. Thumbnail Create.
how to add an image to a pdf in reader; add picture to pdf form
long
lat
165 170 175 180 185
40−112
112−184
165 170 175 180 185
184−256
256−328
328−400
−40
−35
−30
−25
−20
−15
−10
400−472
−40
−35
−30
−25
−20
−15
−10
472−544
544−616
165 170 175 180 185
616−688
Figure 8: The function xyplot with the data \quakes".
(~ x | y) would have resulted in the same graph than Fig.7 but without the
blue curves.
The next examples are taken, more or less modied, from the help pages
of lattice, and use some data sets available in R: the locations of 1000 seismic
events near the Fiji Islands, and some  ower measurements made on three
species of iris.
Fig.8 shows the geographic locations of the seismic events with respect to
depth. The commands necessary for this graph are:
data(quakes)
mini <- min(quakes$depth)
maxi <- max(quakes$depth)
int <- ceiling((maxi - mini)/9)
inf <- seq(mini, maxi, int)
quakes$depth.cat <- factor(floor(((quakes$depth - mini) / int)),
labels=paste(inf, inf + int, sep="-"))
xyplot(lat ~ long | depth.cat, data = quakes)
The rst command loads the data quakes in memory. The ve next com-
mands create a factor by dividing the depth (variable depth) in nine equally-
ranged intervals: the levels of this factor are labelled with the lower and upper
bounds of these intervals. It then suces to call the function xyplot with the
appropriate formula and an argument data indicating where xyplot must look
for the variables
16
.
With the data iris, the overlap among the dierent species is suciently
small so they can be plotted on the gure (Fig.9). The commands are:
16plot() cannot take an argument data, , the location n of the variables must be given
explicitly, for example plot(quakes$long ~ quakes$lat).
51
C# TIFF: TIFF Editor SDK to Read & Manipulate TIFF File Using C#.
Easy to generate image thumbnail or preview for Tiff to Tiff, like Word, Excel, PowerPoint, PDF, and images. assemblies into your C# project by adding reference
how to add a jpeg to a pdf file; add image pdf
VB.NET PDF copy, paste image library: copy, paste, cut PDF images
Free Visual Studio .NET PDF library, easy to be integrated in .NET WinForms and ASP.NET. Besides image extracting, adding, and removing, RasterEdge
adding an image to a pdf file; how to add an image to a pdf
Petal.Width
Petal.Length
oo
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
1
2
3
4
5
6
7
0
0.5
1
1.5
2
2.5
setosa
versicolor
virginica
Figure 9: The function xyplot with the data \iris".
data(iris)
xyplot(
Petal.Length ~ Petal.Width, data = iris, groups=Species,
panel = panel.superpose,
type = c("p", "smooth"), span=.75,
auto.key = list(x = 0.15, y = 0.85)
)
The call to the function xyplot is here a bit more complex than in the
previous example and uses several options that we will detail. The option
groups, as suggested by its name, denes groups that will be used by the
other options. We have already seen the option panel which denes how the
dierent groups will be represented on the graph: we use here a pre-dened
function panel.superpose in order to superpose the groups on the same plot.
No option is passed to panel.superpose, the default colours will be used to
distinguish the groups. The option type, like in plot(), species how the
data are represented, but here we can give several arguments as a vector:
"p" to draw points and "smooth" to draw a smooth curve which degree of
smoothness is specied by span. The option auto.key adds a legend to the
graph: it is only necessary to give, as a list, the coordinates where the legend
is to be plotted. Note that here these coordinates are relative to the size of
the plot (i.e. in [0, 1]).
We will see now the function splom with the same data on iris. The
following commands were used to produce Fig.10:
splom(
~iris[1:4], groups = Species, data = iris, xlab = "",
panel = panel.superpose,
52
Sepal.Length
5
5
6
6
7
7
8
8
o
o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
o o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
Sepal.Width
2
2
2.5
2.5
3
3
3.5
3.5
4
4
4.5
4.5
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o oo
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
oo
o
o
o
o
o
o
o
oo o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
ooo o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
Petal.Length
1
1
2
2
3
3
4
4
4
4
5
5
6
6
7
7
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
oo ooo
o
o
o o
o
o o
o o
o
oo
o o
o
o
o
o
oo
o
oo oo
o
o
oo oo
o
o
o
o o
o
o
o
o
o o
oo
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o o
oo
o
o
o
o oo
o
o
o
o
o o
o
oo oo
o
o
o
oo o
o
o o
o
o
o
o
o
o
o
o
o o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
ooo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
ooooo
o
o
oo
o
oo
oo
o
oo
ooo
o
o
o
o
oo
o
oooo
o
o
oooo
o
oo
oo
o
o
o
o
oooo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o o
o
o
o
o
o
o
o
o
o
o
o
Petal.Width
0
0
0.5
0.5
1
1
1.5
1.5
2
2
2.5
2.5
Setosa
Versicolor
Virginica
Figure 10: The function splom with the data \iris" (1).
auto.key = list(columns = 3)
)
The main argument is this time a matrix (the four rst columns of iris).
The result is the set of possible bivariate plots among the columns of the
matrix, like the standard function pairs. By default, splom adds the text
\Scatter Plot Matrix" under the x-axis: to avoid this, the option xlab=""
was used. The other options are similar to the previous example, except that
columns = 3 for auto.key was specied so the legend is displayed in three
columns.
Fig.10 could have been done with pairs(), but this latter function cannot
make conditional graphs like on Fig.11. The code used is relatively simple:
splom(~iris[1:3] | Species, data = iris, pscales = 0,
varnames = c("Sepal\nLength", "Sepal\nWidth", "Petal\nLength"))
The sub-graphs being relatively small, we added two options to improve
the legibility of the gure: pscales = 0 removes the tick-marks on the axes
(all sub-graphs are drawn on the same scales), and the names of the variables
were re-dened to display them on two lines ("nn" codes for a line break in a
character string).
The last example uses the method of parallel coordinates for the ex-
ploratory analysis of multivariate data. The variables are arranged on an
axis (e.g., the y-axis), and the observed values are plotted on the other axis
(the variables are scaled similarly, e.g., by standardizing them). The dierent
values of the same individual are joined by a line. With the data iris, Fig.12
is obtained with the following code:
parallel(~iris[, 1:4] | Species, data = iris, layout = c(3, 1))
53
Scatter Plot Matrix
Sepal
Length
Sepal
Width
Petal
Length
setosa
Sepal
Length
Sepal
Width
Petal
Length
versicolor
Sepal
Length
Sepal
Width
Petal
Length
virginica
Figure 11: The function splom with the data \iris" (2).
Sepal.Length
Sepal.Width
Petal.Length
Petal.Width
Min
Max
setosa
versicolor
Min
Max
Min
Max
virginica
Figure 12: The function parallel with the data \iris".
54
5 Statistical analyses with R
Even more than for graphics, it is impossible here to go in the details of the
possibilities oered by R with respect to statistical analyses. My goal here is
to give some landmarks with the aim to have an idea of the features of R to
perform data analyses.
The package stats contains functions for a wide range of basic statisti-
cal analyses: classical tests, linear models (including least-squares regression,
generalized linear models, and analysis of variance), distributions, summary
statistics, hierarchical clustering, time-series analysis, nonlinear least squares,
and multivariate analysis. Other statistical methods are available in a large
number of packages. Some of them are distributed with a base installation
of R and are labelled recommanded, and many other packages are contributed
and must be installed by the user.
We will start with a simple example which requires no other package than
stats in order to introduce the general approach to data analysis in R. Then,
we will detail some notions, formulae and generic functions, which are useful
whatever the type of analysis performed. We will conclude with an overview
on packages.
5.1 A simple example of analysis of variance
The function for the analysis of variance in stats is aov. In order to try it, let
us take a data set distributed with R: InsectSprays. Six insecticides were
tested in eld conditions, the observed response was the number of insects.
Each insecticide was tested 12 times, thus there are 72 observations. We will
not consider here the graphical exploration of the data, but will focus on a
simple analysis of variance of the response with respect to the insecticide. After
loading the data in memory with the function data, the analysis is performed
after a square-root transformation of the response:
> data(InsectSprays)
> aov.spray <- aov(sqrt(count) ~ spray, data = InsectSprays)
The main (and mandatory) argument of aov is a formula which species
the response on the left-hand side of the tilde symbol ~ and the predictor
on the right-hand side. The option data = InsectSprays species that the
variables must be found in the data frame InsectSprays. This syntax is
equivalent to:
> aov.spray <- aov(sqrt(InsectSprays$count) ~ InsectSprays$spray)
or still (if we know the column numbers of the variables):
55
> aov.spray <- aov(sqrt(InsectSprays[, 1]) ~ InsectSprays[, 2])
The rst syntax is to be preferred since it is clearer.
The results are not displayed since they are assigned to an object called
aov.spray. We will then used some functions to extract the results, for exam-
ple print to display a brief summary of the analysis (mostly the estimated pa-
rameters) and summary to display more details (included the statistical tests):
> aov.spray
Call:
aov(formula = sqrt(count) ~ spray, data = InsectSprays)
Terms:
spray Residuals
Sum of Squares 88.43787 26.05798
Deg. of Freedom
5
66
Residual standard error: 0.6283453
Estimated effects may be unbalanced
> summary(aov.spray)
Df Sum Sq Mean Sq F value
Pr(>F)
spray
5 88.438 17.688 44.799 < 2.2e-16 ***
Residuals
66 26.058
0.395
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
We may remind that typing the name of the object as a command is similar
to the command print(aov.spray). A graphical representation of the results
can be done with plot() or termplot(). Before typing plot(aov.spray) we
will divide the graphics into four parts so that the four diagnostics plots will
be done on the same graph. The commands are:
> opar <- par()
> par(mfcol = c(2, 2))
> plot(aov.spray)
> par(opar)
> termplot(aov.spray, se=TRUE, partial.resid=TRUE, rug=TRUE)
and the resulting graphics are on Figs.13 and14.
5.2 Formulae
Formulae are a key element in statistical analyses with R: the notation used
is the same for (almost) all functions. A formula is typically of the form y
~ model where y is the analysed response and model is a set of terms for
which some parameters are to be estimated. These terms are separated with
arithmetic symbols but they have here a particular meaning.
56
Documents you may be interested
Documents you may be interested