Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (4 votes)
28 views

Data Analysis and Graphics Using R An Example based Approach 2nd Edition John Maindonald - The full ebook version is just one click away

The document promotes the second edition of 'Data Analysis and Graphics Using R' by John Maindonald, highlighting its practical approach to using R for data analysis and graphical display. It includes links to download the book and other related resources, as well as a brief overview of the content and authors' backgrounds. The book is suitable for students and professionals with a basic understanding of statistics and data analysis.

Uploaded by

hirtpitol
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (4 votes)
28 views

Data Analysis and Graphics Using R An Example based Approach 2nd Edition John Maindonald - The full ebook version is just one click away

The document promotes the second edition of 'Data Analysis and Graphics Using R' by John Maindonald, highlighting its practical approach to using R for data analysis and graphical display. It includes links to download the book and other related resources, as well as a brief overview of the content and authors' backgrounds. The book is suitable for students and professionals with a basic understanding of statistics and data analysis.

Uploaded by

hirtpitol
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

Visit https://ebookultra.

com to download the full version and


explore more ebooks or textbooks

Data Analysis and Graphics Using R An Example


based Approach 2nd Edition John Maindonald

_____ Click the link below to download _____


https://ebookultra.com/download/data-analysis-and-graphics-
using-r-an-example-based-approach-2nd-edition-john-
maindonald/

Explore and download more ebooks or textbooks at ebookultra.com


Here are some recommended products that we believe you will be
interested in. You can click the link to download.

Data Analysis and Graphics Using R An Example based


Approach 1st Edition John Maindonald

https://ebookultra.com/download/data-analysis-and-graphics-using-r-an-
example-based-approach-1st-edition-john-maindonald/

Data Analysis and Graphics Using R An Example Based


Approach Third Edition John Maindonald

https://ebookultra.com/download/data-analysis-and-graphics-using-r-an-
example-based-approach-third-edition-john-maindonald/

Data Analysis and Graphics Using R 1st Edition Matthew


Norman

https://ebookultra.com/download/data-analysis-and-graphics-
using-r-1st-edition-matthew-norman/

Using R for Data Management Statistical Analysis and


Graphics 1st Edition Nicholas J. Horton

https://ebookultra.com/download/using-r-for-data-management-
statistical-analysis-and-graphics-1st-edition-nicholas-j-horton/
Statistics and Data Analysis for Microarrays Using R and
Bioconductor 2nd Edition Sorin Draghici

https://ebookultra.com/download/statistics-and-data-analysis-for-
microarrays-using-r-and-bioconductor-2nd-edition-sorin-draghici/

IBM SPSS by Example A Practical Guide to Statistical Data


Analysis 2nd Edition Alan C. Elliott

https://ebookultra.com/download/ibm-spss-by-example-a-practical-guide-
to-statistical-data-analysis-2nd-edition-alan-c-elliott/

Qualitative Data Analysis An Introduction 2nd Edition


Carol Grbich

https://ebookultra.com/download/qualitative-data-analysis-an-
introduction-2nd-edition-carol-grbich/

Clinical Trial Data Analysis Using R Chapman Hall CRC


Biostatistics Series 1st Edition Din Chen

https://ebookultra.com/download/clinical-trial-data-analysis-using-r-
chapman-hall-crc-biostatistics-series-1st-edition-din-chen/

Statistics 2nd Edition An Introduction Using R Michael J.


Crawley

https://ebookultra.com/download/statistics-2nd-edition-an-
introduction-using-r-michael-j-crawley/
Data Analysis and Graphics Using R An Example based
Approach 2nd Edition John Maindonald Digital Instant
Download
Author(s): John Maindonald, John Braun
ISBN(s): 9780521861168, 0511250592
Edition: 2
File Details: PDF, 4.75 MB
Year: 2006
Language: english
This page intentionally left blank
Data Analysis and Graphics Using R, Second Edition

Join the revolution ignited by the ground-breaking R system! Starting with an introduction
to R, covering standard regression methods, then presenting more advanced topics, this
book guides users through the practical and powerful tools that the R system provides. The
emphasis is on hands-on analysis, graphical display and interpretation of data. The many
worked examples, taken from real-world research, are accompanied by commentary on
what is done and why. A website provides computer code and data sets, allowing readers
to reproduce all analyses. Updates and solutions to selected exercises are also available.
Assuming basic statistical knowledge and some experience of data analysis, the book is
ideal for research scientists, final-year undergraduate or graduate level students of applied
statistics, and practicing statisticians. It is both for learning and for reference.
This second edition reflects changes in R since 2003. There is new material on
survival analysis, random coefficient models and the handling of high-dimensional data.
The treatment of regression methods has been extended, including a brief discussion
of errors in predictor variables. Both text and code have been revised throughout, and
where possible simplified. New graphs have been added.
John Maindonald is Visiting Fellow at the Centre for Mathematics and its
Applications, Australian National University. He has collaborated extensively with
scientists in a wide range of application areas, from medicine and public health to
population genetics, machine learning, economic history and forensic linguistics.
John Braun is Associate Professor of Statistical and Actuarial Sciences, University of
Western Ontario. He has collaborated with biostatisticians, biologists, psychologists and
most recently has become involved with a network of forestry researchers.
Data Analysis and Graphics
Using R – an Example-Based Approach
Second Edition
CAMBRIDGE SERIES IN STATISTICAL AND PROBABILISTIC
MATHEMATICS

Editorial Board

R. Gill (Department of Mathematics, Utrecht University)


B. D. Ripley (Department of Statistics, University of Oxford)
S. Ross (Department of Industrial & Systems Engineering, University of Southern
California)
B. W. Silverman (St. Peter’s College, Oxford)
M. Stein (Department of Statistics, University of Chicago)

This series of high-quality upper-division textbooks and expository monographs covers


all aspects of stochastic applicable mathematics. The topics range from pure and applied
statistics to probability theory, operations research, optimization, and mathematical pro-
gramming. The books contain clear presentations of new developments in the field and
also of the state of the art in classical methods. While emphasizing rigorous treatment of
theoretical methods, the books also contain applications and discussions of new techniques
made possible by advances in computational practice.

Already published
1. Bootstrap Methods and Their Application, by A. C. Davison and D. V. Hinkley
2. Markov Chains, by J. Norris
3. Asymptotic Statistics, by A. W. van der Vaart
4. Wavelet Methods for Time Series Analysis, by Donald B. Percival and Andrew
T. Walden
5. Bayesian Methods, by Thomas Leonard and John S. J. Hsu
6. Empirical Processes in M-Estimation, by Sara van de Geer
7. Numerical Methods of Statistics, by John F. Monahan
8. A User’s Guide to Measure Theoretic Probability, by David Pollard
9. The Estimation and Tracking of Frequency, by B. G. Quinn and E. J. Hannan
10. Data Analysis and Graphics using R, by John Maindonald and W. John Braun
11. Statistical Models, by A. C. Davison
12. Semiparametric Regression, by D. Ruppert, M. P. Wand, R. J. Carroll
13. Exercises in Probability, by Loic Chaumont and Marc Yor
14. Statistical Analysis of Stochastic Processes in Time, by J. K. Lindsey
15. Measure Theory and Filtering, by Lakhdar Aggoun and Robert Elliott
16. Essentials of Statistical Inference, by G. A. Young and R. L. Smith
17. Elements of Distribution Theory, by Thomas A. Severini
18. Statistical Mechanics of Disordered Systems, by Anton Bovier
19. The Coordinate-Free Approach to Linear Models, by Michael J. Wichura
20. Random Graph Dynamics, by Rick Durrett
Data Analysis and Graphics
Using R – an Example-Based Approach
Second Edition

John Maindonald
Centre for Mathematics and its Applications, Australian National University

and
W. John Braun
Department of Statistical and Actuarial Science, University of Western Ontario
CAMBRIDGE UNIVERSITY PRESS
Cambridge, New York, Melbourne, Madrid, Cape Town, Singapore, São Paulo

Cambridge University Press


The Edinburgh Building, Cambridge CB2 8RU, UK
Published in the United States of America by Cambridge University Press, New York
www.cambridge.org
Information on this title: www.cambridge.org/9780521861168

© Cambridge University Press 2003, 2006

This publication is in copyright. Subject to statutory exception and to the provision of


relevant collective licensing agreements, no reproduction of any part may take place
without the written permission of Cambridge University Press.

First published in print format 2006

ISBN-13 978-0-511-24957-0 eBook (EBL)


ISBN-10 0-511-24957-8 eBook (EBL)

ISBN-13 978-0-521-86116-8 hardback


ISBN-10 0-521-86116-0 hardback

Cambridge University Press has no responsibility for the persistence or accuracy of urls
for external or third-party internet websites referred to in this publication, and does not
guarantee that any content on such websites is, or will remain, accurate or appropriate.
It is easy to lie with statistics. It is hard to tell the truth without statistics.
[Andrejs Dunkels]

   technology tends to overwhelm common sense.


[D. A. Freedman]
For Amelia and Luke
also Shireen, Peter, Lorraine, Evan and Winifred

For Susan, Matthew and Phillip


Contents

Preface page xix

1 A brief introduction to R 1
1.1 An overview of R 1
1.1.1 A short R session 1
1.1.2 The uses of R 5
1.1.3 Online help 6
1.1.4 Further steps in learning R 8
1.2 Data input, packages and the search list 8
1.2.1 Reading data from a file 8
1.2.2 R packages 9
1.3 Vectors, factors and univariate time series 10
1.3.1 Vectors in R 10
1.3.2 Concatenation – joining vector objects 10
1.3.3 Subsets of vectors 11
1.3.4 Patterned data 11
1.3.5 Missing values 12
1.3.6 Factors 13
1.3.7 Time series 14
1.4 Data frames and matrices 14
1.4.1 The attaching of data frames 16
1.4.2 Aggregation, stacking and unstacking 17
1.4.3∗ Data frames and matrices 17
1.5 Functions, operators and loops 18
1.5.1 Built-in functions 18
1.5.2 Generic functions and the class of an object 20
1.5.3 User-written functions 21
1.5.4 Relational and logical operators and operations 22
1.5.5 Selection and matching 23
1.5.6 Functions for working with missing values 23
1.5.7∗ Looping 24
1.6 Graphics in R 24
1.6.1 The function plot( ) and allied functions 25
1.6.2 The use of color 27
x Contents

1.6.3 The importance of aspect ratio 27


1.6.4 Dimensions and other settings for graphics devices 28
1.6.5 The plotting of expressions and mathematical symbols 28
1.6.6 Identification and location on the figure region 29
1.6.7 Plot methods for objects other than vectors 29
1.6.8 Lattice graphics versus base graphics – xyplot() versus plot() 30
1.6.9 Further information on graphics 30
1.6.10 Good and bad graphs 30
1.7 Lattice (trellis) graphics 31
1.8 Additional points on the use of R 33
1.9 Recap 36
1.10 Further reading 36
1.10.1 References for further reading 37
1.11 Exercises 37

2 Styles of data analysis 43


2.1 Revealing views of the data 43
2.1.1 Views of a single sample 44
2.1.2 Patterns in univariate time series 48
2.1.3 Patterns in bivariate data 50
2.1.4 Patterns in grouped data 52

2.1.5 Multiple variables and times 54
2.1.6 Scatterplots, broken down by multiple factors 56
2.1.7 What to look for in plots 58
2.2 Data summary 59
2.2.1 Counts 60
2.2.2 Summaries of information from data frames 63
2.2.3 Standard deviation and inter-quartile range 66
2.2.4 Correlation 68
2.3 Statistical analysis questions, aims and strategies 69
2.3.1 How relevant and how reliable are the data? 70
2.3.2 Helpful and unhelpful questions 70
2.3.3 How will results be used? 71
2.3.4 Formal and informal assessments 72
2.3.5 Statistical analysis strategies 73
2.3.6 Planning the formal analysis 73
2.3.7 Changes to the intended plan of analysis 74
2.4 Recap 74
2.5 Further reading 75
2.5.1 References for further reading 75
2.6 Exercises 75

3 Statistical models 78
3.1 Regularities 79
3.1.1 Deterministic models 79
Contents xi

3.1.2 Models that include a random component 79


3.1.3 Fitting models – the model formula 82
3.2 Distributions: models for the random component 83
3.2.1 Discrete distributions 84
3.2.2 Continuous distributions 86
3.3 The uses of random numbers 88
3.3.1 Simulation 88
3.3.2 Sampling from populations 89
3.4 Model assumptions 90
3.4.1 Random sampling assumptions – independence 91
3.4.2 Checks for normality 92
3.4.3 Checking other model assumptions 95
3.4.4 Are non-parametric methods the answer? 95
3.4.5 Why models matter – adding across contingency tables 95
3.5 Recap 96
3.6 Further reading 97
3.6.1 References for further reading 97
3.7 Exercises 97

4 An introduction to formal inference 101


4.1 Basic concepts of estimation 101
4.1.1 Population parameters and sample statistics 101
4.1.2 Sampling distributions 102
4.1.3 Assessing accuracy – the standard error 102
4.1.4 The standard error for the difference of means 103
4.1.5∗ The standard error of the median 104
4.1.6 The sampling distribution of the t-statistic 104
4.2 Confidence intervals and hypothesis tests 107
4.2.1 One- and two-sample intervals and tests for means 107
4.2.2 Confidence intervals and tests for proportions 113
4.2.3 Confidence intervals for the correlation 113
4.2.4 Confidence intervals versus hypothesis tests 114
4.3 Contingency tables 115
4.3.1 Rare and endangered plant species 117
4.3.2 Additional notes 119
4.4 One-way unstructured comparisons 120
4.4.1 Displaying means for the one-way layout 123
4.4.2 Multiple comparisons 124
4.4.3 Data with a two-way structure, that is, two factors 125
4.4.4 Presentation issues 126
4.5 Response curves 126
4.6 Data with a nested variation structure 127
4.6.1 Degrees of freedom considerations 128
4.6.2 General multi-way analysis of variance designs 129
xii Contents

4.7 Resampling methods for standard errors, tests and confidence


intervals 129
4.7.1 The one-sample permutation test 129
4.7.2 The two-sample permutation test 130
4.7.3∗ Estimating the standard error of the median: bootstrapping 131
4.7.4 Bootstrap estimates of confidence intervals 133

4.8 Theories of inference 134
4.8.1 Maximum likelihood estimation 135
4.8.2 Bayesian estimation 136
4.8.3 If there is strong prior information, use it! 136
4.9 Recap 137
4.10 Further reading 138
4.10.1 References for further reading 138
4.11 Exercises 139

5 Regression with a single predictor 144


5.1 Fitting a line to data 144
5.1.1 Lawn roller example 145
5.1.2 Calculating fitted values and residuals 146
5.1.3 Residual plots 147
5.1.4 Iron slag example: is there a pattern in the residuals? 148
5.1.5 The analysis of variance table 150
5.2 Outliers, influence and robust regression 151
5.3 Standard errors and confidence intervals 153
5.3.1 Confidence intervals and tests for the slope 153
5.3.2 SEs and confidence intervals for predicted values 154
5.3.3∗ Implications for design 155
5.4 Regression versus qualitative anova comparisons 157
5.4.1 Issues of power 157
5.4.2 The pattern of change 158
5.5 Assessing predictive accuracy 158
5.5.1 Training/test sets and cross-validation 158
5.5.2 Cross-validation – an example 159
5.5.3∗ Bootstrapping 161

5.6 A note on power transformations 164
5.6.1∗ General power transformations 164
5.7 Size and shape data 165
5.7.1 Allometric growth 166
5.7.2 There are two regression lines! 167
5.8 The model matrix in regression 168
5.9 Recap 169
5.10 Methodological references 170
5.11 Exercises 170
Contents xiii

6 Multiple linear regression 173


6.1 Basic ideas: book weight and brain weight examples 173
6.1.1 Omission of the intercept term 176
6.1.2 Diagnostic plots 176
6.1.3 Example: brain weight 178
6.1.4 Plots that show the contribution of individual terms 180
6.2 Multiple regression assumptions and diagnostics 182
6.2.1 Influential outliers and Cook’s distance 183
6.2.2 Influence on the regression coefficients 184
6.2.3∗ Additional diagnostic plots 185
6.2.4 Robust and resistant methods 185
6.2.5 The uses of model diagnostics 185
6.3 A strategy for fitting multiple regression models 186
6.3.1 Preliminaries 186
6.3.2 Model fitting 187
6.3.3 An example – the Scottish hill race data 187
6.4 Measures for the assessment and comparison of regression
models 193
6.4.1 R2 and adjusted R2 193
6.4.2 AIC and related statistics 194
6.4.3 How accurately does the equation predict? 194
6.5 Interpreting regression coefficients 196
6.5.1 Book dimensions and book weight 196
6.6 Problems with many explanatory variables 199
6.6.1 Variable selection issues 200
6.7 Multicollinearity 202
6.7.1 A contrived example 202
6.7.2 The variance inflation factor 206
6.7.3 Remedies for multicollinearity 206
6.8 Multiple regression models – additional points 207
6.8.1 Errors in x 207
6.8.2 Confusion between explanatory and response variables 210
6.8.3 Missing explanatory variables 210
6.8.4∗ The use of transformations 212
6.8.5∗ Non-linear methods – an alternative to transformation? 212
6.9 Recap 214
6.10 Further reading 214
6.10.1 References for further reading 215
6.11 Exercises 216

7 Exploiting the linear model framework 219


7.1 Levels of a factor – using indicator variables 220
7.1.1 Example – sugar weight 220
7.1.2 Different choices for the model matrix when there are
factors 223
xiv Contents

7.2 Block designs and balanced incomplete block designs 224


7.2.1 Analysis of the rice data, allowing for block effects 224
7.2.2 A balanced incomplete block design 226
7.3 Fitting multiple lines 227
7.4 Polynomial regression 231
7.4.1 Issues in the choice of model 233
7.5∗ Methods for passing smooth curves through data 234
7.5.1 Scatterplot smoothing – regression splines 235
7.5.2∗ Penalized splines and generalized additive models 239
7.5.3 Other smoothing methods 239
7.6 Smoothing terms in additive models 241
7.6.1∗ The fitting of penalized spline terms 243
7.7 Further reading 243
7.7.1 References for further reading 243
7.8 Exercises 243

8 Generalized linear models and survival analysis 246


8.1 Generalized linear models 246
8.1.1 Transformation of the expected value on the left 246
8.1.2 Noise terms need not be normal 247
8.1.3 Log odds in contingency tables 247
8.1.4 Logistic regression with a continuous explanatory variable 248
8.2 Logistic multiple regression 251
8.2.1 Selection of model terms and fitting the model 253
8.2.2 A plot of contributions of explanatory variables 256
8.2.3 Cross-validation estimates of predictive accuracy 257
8.3 Logistic models for categorical data – an example 258
8.4 Poisson and quasi-Poisson regression 260
8.4.1 Data on aberrant crypt foci 260
8.4.2 Moth habitat example 263
8.5 Additional notes on generalized linear models 269
8.5.1∗ Residuals, and estimating the dispersion 269
8.5.2 Standard errors and z- or t-statistics for binomial models 270
8.5.3 Leverage for binomial models 270
8.6 Models with an ordered categorical or categorical response 271
8.6.1 Ordinal regression models 271
8.6.2∗ Loglinear models 274
8.7 Survival analysis 275
8.7.1 Analysis of the Aids2 data 276
8.7.2 Right censoring prior to the termination of the study 278
8.7.3 The survival curve for male homosexuals 279
8.7.4 Hazard rates 279
8.7.5 The Cox proportional hazards model 280
8.8 Transformations for count data 282
8.9 Further reading 283
Contents xv

8.9.1 References for further reading 283


8.10 Exercises 284

9 Time series models 286


9.1 Time series – some basic ideas 286
9.1.1 Preliminary graphical explorations 286
9.1.2 The autocorrelation function 287
9.1.3 Autoregressive models 288
9.1.4∗ Autoregressive moving average models – theory 290
9.2∗ Regression modeling with moving average errors 291

9.3 Non-linear time series 297
9.4 Other time series packages 298
9.5 Further reading 298
9.5.1 Spatial statistics 299
9.5.2 References for further reading 299
9.6 Exercises 299

10 Multi-level models and repeated measures 301


10.1 A one-way random effects model 302
10.1.1 Analysis with aov() 303
10.1.2 A more formal approach 306
10.1.3 Analysis using lmer() 308
10.2 Survey data, with clustering 311
10.2.1 Alternative models 311
10.2.2 Instructive, though faulty, analyses 316
10.2.3 Predictive accuracy 317
10.3 A multi-level experimental design 317
10.3.1 The anova table 319
10.3.2 Expected values of mean squares 320
10.3.3∗ The sums of squares breakdown 321
10.3.4 The variance components 324
10.3.5 The mixed model analysis 325
10.3.6 Predictive accuracy 327
10.3.7 Different sources of variance – complication or focus
of interest? 327
10.4 Within- and between-subject effects 328
10.4.1 Model selection 329
10.4.2 Estimates of model parameters 330
10.5 Repeated measures in time 332
10.5.1 Example – random variation between profiles 334
10.5.2 Orthodontic measurements on children 339
10.6 Error structure considerations 343
10.6.1 Predictions from models with a complex error
structure 343
10.6.2 Error structure in explanatory variables 344
xvi Contents

10.7 Further notes on multi-level and other models with correlated


errors 344
10.7.1 An historical perspective on multi-level models 344
10.7.2 Meta-analysis 346
10.7.3 Functional data analysis 346
10.8 Recap 346
10.9 Further reading 347
10.9.1 References for further reading 347
10.10 Exercises 348

11 Tree-based classification and regression 350


11.1 The uses of tree-based methods 351
11.1.1 Problems for which tree-based regression may be used 351
11.2 Detecting email spam – an example 352
11.2.1 Choosing the number of splits 355
11.3 Terminology and methodology 355
11.3.1 Choosing the split – regression trees 355
11.3.2 Within and between sums of squares 356
11.3.3 Choosing the split – classification trees 357
11.3.4 Tree-based regression versus loess regression smoothing 358
11.4 Predictive accuracy and the cost–complexity tradeoff 360
11.4.1 Cross-validation 361
11.4.2 The cost–complexity parameter 361
11.4.3 Prediction error versus tree size 362
11.5 Data for female heart attack patients 363
11.5.1 The one-standard-deviation rule 365
11.5.2 Printed information on each split 365
11.6 Detecting email spam – the optimal tree 366
11.7 The randomForest package 368
11.8 Additional notes on tree-based methods 371
11.8.1 The combining of tree-based methods with other approaches 371
11.8.2 Models with a complex error structure 372
11.8.3 Pruning as variable selection 372
11.8.4 Other types of tree 372
11.8.5 Factors as predictors 372
11.8.6 Summary of pluses and minuses of tree-based methods 372
11.9 Further reading 373
11.9.1 References for further reading 373
11.10 Exercises 374

12 Multivariate data exploration and discrimination 375


12.1 Multivariate exploratory data analysis 376
12.1.1 Scatterplot matrices 376
12.1.2 Principal components analysis 377
12.1.3 Multi-dimensional scaling 383
Contents xvii

12.2 Discriminant analysis 384


12.2.1 Example – plant architecture 384
12.2.2 Logistic discriminant analysis 386
12.2.3 Linear discriminant analysis 387
12.2.4 An example with more than two groups 388
12.3∗ High-dimensional data, classification and plots 390
12.3.1 Classifications and associated graphs 392
12.3.2 Flawed graphs 393
12.3.3 Accuracies and scores for test data 397
12.3.4 Graphs derived from the cross-validation process 403
12.4 Further reading 405
12.4.1 References for further reading 406
12.5 Exercises 406

13 Regression on principal component or discriminant scores 408


13.1 Principal component scores in regression 408
13.2∗ Propensity scores in regression comparisons – labor
training data 412
13.2.1 Regression analysis, using all covariates 415
13.2.2 The use of propensity scores 417
13.3 Further reading 419
13.3.1 References for further reading 419
13.4 Exercises 420

14 The R system – additional topics 421


14.1 Working directories, workspaces and the search list 421
14.1.1∗ The search path 421
14.1.2 Workspace management 421
14.1.3 Utility functions 423
14.2 Data input and output 423
14.2.1 Input of data 424
14.2.2 Data output 428
14.3 Functions and operators – some further details 429
14.3.1 Function arguments 430
14.3.2 Character string and vector functions 431
14.3.3 Anonymous functions 431
14.3.4 Functions for working with dates (and times) 432
14.3.5 Creating groups 433
14.3.6 Logical operators 434
14.4 Factors 434
14.5 Missing values 437
14.6∗ Matrices and arrays 439
14.6.1 Matrix arithmetic 440
14.6.2 Outer products 441
14.6.3 Arrays 442
xviii Contents

14.7 Manipulations with lists, data frames and matrices 443


14.7.1 Lists – an extension of the notion of “vector” 443
14.7.2 Changing the shape of data frames 445
14.7.3∗ Merging data frames – merge() 445
14.7.4 Joining data frames, matrices and vectors – cbind() 446
14.7.5 The apply family of functions 446
14.7.6 Splitting vectors and data frames into lists – split() 448
14.7.7 Multivariate time series 448
14.8 Classes and methods 449
14.8.1 Printing and summarizing model objects 449
14.8.2 Extracting information from model objects 450
14.8.3 S4 classes and methods 450
14.9 Manipulation of language constructs 451
14.9.1 Model and graphics formulae 451
14.9.2 The use of a list to pass parameter values 452
14.9.3 Expressions 453
14.9.4 Environments 453
14.9.5 Function environments and lazy evaluation 455
14.10 Document preparation — Sweave() 456
14.11 Graphs in R 457
14.11.1 Hardcopy graphics devices 457
14.11.2 Multiple graphs on a single graphics page 457
14.11.3 Plotting characters, symbols, line types and colors 457
14.12 Lattice graphics and the grid package 462
14.12.1 Interaction with plots 464
14.12.2∗ Use of grid.text() to label points 464
14.12.3∗ Multiple lattice graphs on a graphics page 465
14.13 Further reading 466
14.13.1 Vignettes 466
14.13.2 References for further reading 466
14.14 Exercises 467

Epilogue – models 470

References 474

Index of R Symbols and Functions 485

Index of Terms 491

Index of Authors 501

Color Plates after Page 502


Other documents randomly have
different content
Hiis vieköön!

CYRANO.
Ei se mitään. Cyrano vain palaa.

Päät laskeutuvat jälleen.

VARTIOMIES, ulkopuolella.
Ken siellä?

CYRANON ÄÄNI.
Bergerac.

VARTIOMIES, vallilla.
Ken?

CYRANO, ilmaantuen vallin harjalle. Bergerac. — Ei valaa voi


hölmöön viisautta kukaan.

Astuu alas. Le Bret menee häntä vastaan; levottomasti.

LE BRET.
Suuri luoja!

CYRANO, tehden hänelle merkin, ettei hän herättäisi ketään.


Hst!

LE BRET.
Haavan saitko?

CYRANO. Pani parastaan se ruoja, mutt' ohi ampui taas kuin aina
ennenkin.
LE BRET. On tyhmän-rohkeata aina aamuisin sun asettaa noin
henkes vaaraan alttihiksi vain pienen kirjeen vuoksi!

CYRANO, pysähtyen Christianin eteen. Tiedät, teen sen siksi, kun


lupasin, hän että usein kirjoittaa. Katselee Christiania. Hän nukkuu.
Kalvas on hän. Jospa tietää saa Roxane, hän että nälkään kuolee
täällä!… Mutta hän kaunis on.

LE BRET.
Nyt nukkumaan!

CYRANO. Et suuttunutta saa näytellä!… Mä tiedän paikan


rintamassa, joss' ovat vihollisen miehet humalassa yöt kaiket. Turha
on sun olla tuskissasi.

LE BRET.
Sa voisit joskus tuoda ruokaa mukanasi!

CYRANO.
On kulku hankalaa, kun selässä on taakka.
Mut uusi aika alkaa ensi yöstä saakka:
me joko kuolemme tai saamme syödäksemme.
Mä nä'in…

LE BRET.
Kerro!

CYRANO. En. Me kohta kokenemme sen… taikka, en oo varma…

CARBON. Hullua on tämä: piirittää itse sekä olla piirittämä


espanjalaisten samaan aikaan.
LE BRET. Niinpä niin, hullumpaa tuskin ennen koskaan koettiin!
Arrasta piiritämme, silloin Espanjasta infantti-kardinaali saapuu —

CYRANO. Sehän vasta on hauskaa! Kunpa joku hänet vuorostaan


nyt piirittäisi!

LE BRET.
Min' en naura.

CYRANO.
Katsos vaan!

LE BRET.
Ja joka päivä vuoksi tyhmän urhokkuuden
sä henkes…
Nähdessään Cyranon suuntaavan kulkunsa erästä telttiä kohti.
Minne menet?

CYRANO.
Kyhään kirjeen uuden.

Nostaa verhoa ja katoaa.

II KOHTAUS

Samat, paitsi CYRANO.

On tullut hiukan valoisampaa. Ruusunpunaista hohtoa


Arras'n kaupunki kuultaa kullassa taivaanrannalla. Kuuluu
tykinlaukaus ja sitä seuraa heti rummunlyöntejä kaukaa
vasemmalta. Toisia rummunlyöntejä läheltä. Patterit
vastaavat, pauke lähenee ja loittonee jälleen, kulkien
taistelukentän ääreltä toiselle. Aamusoiton hälinää. Kaukaa
upseerien ääniä.

CARBON, huoaten.
Jo aamusoitto.
Soturit liikahtelevat vaipoissaan. Venytteleivät.
Loppuu ravitseva uni.
He mitä herätessään huutaa, arveluni
on siitä mulla!

ERÄS SOTURI, asettuen istumaan.


Mun on nälkä.

TOINEN.
Minä näännyn.

KAIKKI.
Oh!

CARBON.
Nouskaa!

KOLMAS SOTURI.
Hyvä on, jos hiukan edes käännyn.

IV SOTURI.
En liikahdakaan!

I SOTURI, katsoen kuvaistaan haarniskansa kappaleesta. Mull' on


keltaisena kieli: tän ajan ilmakaan, jos vaikka sitä nieli, ei sula
vatsassa…
ERÄS MUU. Jos ruokaa hiukan saan, ritarikilpeni oon valmis
antamaan.

ERÄS MUU. Jos aina oltava mun näin on ruokaa vailla, niin telttiin
sulkeudun ma Akilleuksen lailla.

ERÄS MUU.
Niin, leipää!

CARBON, mennen teltille, johon Cyrano on mennyt; hiljaa.


Cyrano!

MUUT.
Me kuolemme!

CARBON, yhäti hiljaa, teltin ovella. Käy pian nyt auttamaan! Voit
heistä saada iloisia, siis haasta, juttele!

II SOTURI, lähestyen ensimäistä, joka imee jotain.


Sä imet jotain. Kas vaan!

I SOTURI.
Vain rohdintukkoa, mi kastettu on rasvaan,
ja jolla voideltu lie tykin pyörän napaa.
Ei näiltä tienoin juuri metsänriistaa tapaa.

ERÄS MUU, astuen esiin.


Mä kävin metsällä.

ERÄS MUU.
Mä ongella.
KAIKKI, nousten ja ympäröiden vastatulleet.
Vai niin!
Hei, missä saalis? Tänne! Tuokaa näkyviin!
Kai saitte fasaanin? Tai ehkä taimenen?

ONKIJA.
Ma pienen kiiskin sain.

METSÄSTÄJÄ.
Ma laihan varpusen.

KAIKKI, epätoivoissaan.
Jo riittää! — Kapinaan!

CARBON.
Käy apuun, Cyrano!

On tullut täysi päivä.

III KOHTAUS

Samat, CYRANO.

CYRANO, tulee teltistään, tyynenä ja kynä korvan takana, kirja


kädessä.
No, mitä?
Ensimäiselle soturille.
Miksi laahaat? Miks' et suora oo?

SOTURI.
On jotain, joka vetää mua kantapäästä.
CYRANO.
No, mikä?

SOTURI.
Vatsa.

CYRANO.
Ei se minuakaan säästä!

SOTURI.
Se sua vaivaa?

CYRANO.
Ei, se mua lihottaapi!

TOINEN SOTURI.
On mulla pitkät hampaat!

CYRANO. Paremminhan saapi paksusta palan niillä.

KOLMAS.
Mull' on tyhjä vatsa.

CYRANO.
Heh! Siis, kun hyökätään, niin marssin rummutat sa!

ERÄS MUU.
Mun korvissani soipi.

CYRANO.
Valehtelet, kuoma!
Sun vatsassasi soi: hoi, ruoka, tänne, juoma!
ERÄS MUU.
Jos kerran taas sais oikein rustolihaa purra!

CYRANO.
No, pure kynsiäs, niin tarvis ei sun surra!

ERÄS MUU.
Näin kovaan nälkäänsä mies nielis vaikka mitä.

CYRANO, heittäen hänelle kirjan, jota pitää kädessään.


Kas, tuoss' on Iliaadi, ahmi, niele sitä!

ERÄS MUU. Vaan kardinaali, — hän se Pariisissa ruokaa saa


kyllikseen!

CYRANO. Kai tahdot hälle huutaa: tuokaa myös mulle paistia!

SAMA.
Miks' ei! Ja viiniäkin!

CYRANO. Hoi, Richelieu, hoi, toimitappas tänne äkin bourgognea


— nyt heti!

ERÄS MUU.
Munkin kanssa lähetä.

CYRANO.
Niin, ettei syömämiesten luku vain vois vähetä.

ERÄS MUU.
Ois kuolla parempi. Tää leikki miest' ei elätä.

CYRANO.
Vähemmän tarvitsee siis kuolemaa sun pelätä.
I SOTURI, olkapäitään kohauttaen.
Sä leikit sanoilla.

CYRANO. Niin leikin, sit' en kiellä! Ja Manan maahan kuljen


riemuisalla miellä, jos tehdä saan, kun kuulen Kuolon kellon soivan,
vuoks hyvän asian ma sanaleikin oivan. — Oh, jospa kuolla sais, kun
leiskuu innon lies, kun taistotantereella miehen kohtaa mies, jos
silloin vaipua sais, sanaleikki kielellä — ei tautivuotehelle nuutuneella
mielellä!

KAIKKI.
On nälkä mulla!

CYRANO, pannen käsivartensa ristiin. Se on aina mietteissänne! —


Hoi, paimen, Bertrandou, tuo huilus, tule tänne ja noita syömäreitä
ravita sa koita. Sa kotiseudun sävel, vieno, harras, soita! Se
jokaiselle on kuin sisko pieni, hellä, kuin äänen sointi, joka lumoo
lempeydellä, se nousee korkeuteen kuin sauhu kotituvan ja loihtii
mieleen kirkkaan, viihdyttävän kuvan… Vanhus istuutuu ja koettelee
huiluaan. Nyt soikoon riemua sun huilus ääni, jota jo kauan aikaa on
vain soitattanut sota! Puhalla tanssihin kuin ennen metsätiellä, kun
norsunluut' ei olleet koskettimet vielä, ja tuokoon soittos mieleen
vuoripuroin juoksun ja maalais-elämän, ja mullan tuoreen tuoksun!
Vanhus alkaa soittaa languedocilaista säveltä. Hei, pojat Gaskonjan
— ei taistelua pelkkää soi enää huilu nyt, se metsäin kieltä helkkää,
ei raiu raivoisaan kuin sodan soitto villi, vaan hiljaa, lempeään kuin
hento paimenpilli… Kas, nummet, laaksot, metsät kiiltohelmin
kastuu, ja paimenpoikanen nyt soittain kotiin astuu, Dordonjan
lainehet ne rantojansa kaulaa… "Oh, tää on Gaskonjaa"… Niin huilu
teille laulaa!
Kaikkien päät ovat taipuneet alas, silmiin tullut uneksiva ilme,
ja hiljaisia kyyneleitä kuivataan hihoihin ja nutun vuoriin.

CARBON, Cyranolle hiljaa.


Saat heidät itkemään!

CYRANO.
Sen tekee kotikaipuu.
Se jalo tunne on, — noin ruumiin tuska haipuu!
Ei heidän mielessään oo nälän tuomat vaivat,
muun kaiken väistymään nyt kodin muistot saivat!

CARBON.
Sä heidät heikennät, kun saatat heltymään.

CYRANO, on tehnyt rummuttajalle merkin, että tämä lähestyisi.


En! Sankaruushan asuu heidän veressään, se pian herää taas!

Tekee liikkeen. Rumpu pärisee.

KAIKKI, nousevat ja tarttuvat aseisiinsa.


Häh?… Mitä?… Mikä hätä?

CYRANO, hymyillen.
Noin! Tarvittiin vain hiukan rummun pärinätä!
Jää hyvästi nyt uni, kodin, lemmen kaipuu.
Kun rumpu pärisee, muu kaikki unhoon vaipuu.

ERÄS SOTURI, joka katselee taustalle.


Ah! Ah! De Guiche!

KAIKKI, mutisten.
Mmm…
CYRANO, hymyillen. Eipä taida hyvää tietää tuo tervehdys!

ERÄS SOTURI.
Me emme saata häntä sietää.

TOINEN.
Hän ikävystyttää!

KOLMAS.
Tuo muotinukke täällä!
Kas, pitsikaulus häll' on haarniskansa päällä!

ERÄS MUU.
On sekin muoti: peittää rautaa pellavalla!

I SOTURI.
On kaulass' ehkä paise hällä pitsin alla!

II SOTURI.
Hän hovimies on!

ERÄS MUU.
Niin, hän sukuunsa on tullut.

CARBON.
Hän Gaskonjasta on.

1 SOTURI. Niin kai. En usko häneen. Jos pojat Gaskonjan on


huimapäät ja hullut, se laatuun käy, — vaan hän on viisas,
varovainen, siks sanon hänestä: ken lienet, varo vainen!

LE BRET.
Hän kalvas on!
ERÄS MUU.
Niin näkyy nälkä kelmentäneen.
Saa nähdä nälkää hän kuin mikä köyhä piru.

ERÄS MUU. Vaan kas, kun haarniskansa auringossa loistaa, se


miehen kasvoilta voi kalvakkuuden poistaa vatsankin vaivoissa.

CYRANO, vilkkaasti.
Nyt emme tässä viru
me surren! Löytäköön hän meidät miehevinä!
Esille kortit, nopat…

Kaikki rupeavat nopeasti pelaamaan, käyttäen pöytinään


rumpuja, jakkaroita, maata, vaippojaan; ja he sytyttävät
palturilla täytettyjä pitkiä piippujaan.

Kirjan otan minä!

Kävelee edestakaisin ja lukee pientä kirjaa, jonka on


ottanut taskustaan. De Guiche tulee. Kukaan ei käännä
häneen huomiotaan. Kaikki ovat tyytyväisen näköisiä. Hän on
sangen kalpea. Hän menee Carbonia kohti.

IV KOHTAUS

Samat, DE GUICHE.

DE GUICHE, Carbonille.
Ah! — Hyvää päivää!
Tarkastavat toisiaan. Syrjään, tyytyväisenä.
Hän on vihreä.
CARBON, itsekseen. Ei muuta kuin silmiä!

DE GUICHE, katsellen sotureita. No, herrat, murratteko suuta taas


mulle!? Kaikkialla, missä kuljenkaan, ma panettelujanne aina kuulla
saan. Ja siltä minusta jo tuntui monet kerrat, kuin vuorten aateli,
Gaskonjan vapaaherrat, te, maalaisparoonit, muut' ette tekis, kuin
minua haukkuisitte! Mua suurin suin väitätte narriksi ja viekastelijaksi
— ja saattaneehan teitä harmittaakin kyllä, kun mull' on aina kaunis
pitsikaulus yllä, ja teill' ei ole!… niin, se vielä suuremmaksi kai saattoi
harminne, ett'en oo lurjus, vaikka on Gaskonjanne myöskin mulle
kotipaikka. Hiljaisuus. Pelataan. Poltetaan. Teit' antaisinkohan
rankaista kapteeninne?! En!

CARBON.
Mun ei mukautua pakko käskyihinne.

DE GUICHE.
Mi… mitä?

CARBON.
Itse palkkaan joka sotilaan.
Päämaja mitä määrää, sen mä täytän vaan!

DE GUICHE. Ah?… Niinkö?… Totta vie, jo riittää… Kääntyy


sotureihin. Kurjaa pilkkaa ma halveksin. Se kääntyy kohti omaa
nilkkaa. Ei viitsi peljätä se sanaa sarvipäistä, ken koskaan taisteluss'
ei tosivaaraa väistä. Ma eilen — satuitte sen ehkä kuulemaan! —
Bapaumen luona voitin kreivi Bucquoin. Oh, oisittepa nähneet! Lailla
myrskytuulen ma eespäin rynnistin. Hän muistaa sen, ma luulen.
Löin hänen joukkonsa ma kolmasti; ja lyön ne viel' uudelleen, jos
tarvis on…
CYRANO, nostamatta katsettaan kirjasta.
Vaan teidän vyönne?

DE GUICHE, hämmästyneenä ja tyytyväisenä. Siis tiedätte jo


sen?… Kun taiston tuoksinassa mä käänsin ratsuni — ma olin
johtamassa jo toista hyökkäystä! — niin kuinka käynyt lie, mä näen:
pakenevat muassaan mua vie ja joudun vihollisten joukkoon. Vaara
mulla nyt oli vangiksi ja ammutuksi tulla. Vaan mielenmaltillani
henkeni mä säästin. Mä vyöni irroitin ja putoamaan päästin sen
maahan; ken ma olin, tiennyt nyt ei kukaan; mä pääsin joukkooni
niin ettei huomattukaan. Nyt kolmas hyökkäys, ja voitto myöskin,
joskaan ei lopullinen!… Mitäs sanotte?

Soturit eivät ole kuuntelevinaan, mutta tällä hetkellä kortit


ja noppa-astiat jäävät kohotettuihin käsiin, tupakan sauhu
huulten taakse. Odotusta.

CYRANO. Ei koskaan ois Henrik neljäs edes ylivoiman tähden


hyljännyt töyhtöä, mi liehui kaikkein nähden kypärän kaunisteena!

Hiljaista riemua. Kortit läiskyvät, nopat vyöryvät, tupakan


sauhu tupruaa.

DE GUICHE. Olkoon, mutta näin mun voittaa onnistui!

Äskeistä odotusta, joka saa pelin ja tupakoimisen taukoamaan.

CYRANO. No niin! Vaan käydä päin ja olla maalitaulu, jot' ei


mikään peitä, kas, se on kunnia, jot' eivät kaikki heitä!

Kortit, nopat, tupakan sauhu jälleen kuin ennenkin.


Yhä suurempaa tyytyväisyyttä.
Jos vyönne pudotessa oisin ollut lässä, niin — uljuutemme on kai
erilaista tässä!? — sen heti olisin mä käynyt etsimässä.

DE GUICHE.
Oh, kerskailua!

CYRANO. Mitä?! Kerskailua!? Tuokaa tuo vyönne tänne, mulle


lainaksi se suokaa, niin olkapäähäni sen kiinnittäen käyn mä
hyökkäämään — ja aina ensimäisnä näyn.

DE GUICHE.
On helppo kerskua. Ei sanat miestä kaada.
Te tiedättehän: vyötä mahdoton on saada!
Se siell' on, kentällä. Siell' luodit lentää, soi.
Ei sitä etsimäänkään kukaan mennä voi.

CYRANO, vetäen taskustaan valkoisen vyön ja ojentaen sitä


hänelle.
Se täss' on.

Hiljaisuus. Sotilaat peittävät nauravat suunsa korteillaan


ja noppa-astioillaan. De Guiche kääntyy, katsoo heitä: heti he
tulevat vakaviksi, jatkavat peliään. Yksi heistä viheltelee
huolimattomasti Bertrandoun soittamaa vuoristolaissäveltä.

DE GUICHE, ottaen vyön.


Kiitos.

Menee taustalle, nousee vallille ja heilauttaa vyötä


useita kertoja ilmassa.

Nyt se tehty on. Kas noin!


On merkki annettu, — vaikk' kauan aprikoin!
KAIKKI.
Häh? Mitä?!

VARTIA, vallilla.
Muuan mies pois juoksee…

DE GUICHE, tullen alas vallilta. Vakoilija vihollisleiristä. Parhaita


auttajia! Vie sinne tiedot, jotka täältä multa saa; he sitten päätöksiin
taas siellä vaikuttaa.

CYRANO.
Siis konna!

DE GUICHE, solmiten huolettomasti vyötään. Se on hyvin


mukavaa… Niin, mitä me puhuimmekaan?!… Ah, te ette tiedä sitä!
Viim' yönä marsalkka Dourlensiin lähti; siellä on muonavarastoja.
Ettei häntä tiellä kohtaisi vaara, otti mukaansa hän sinne niin paljon
sotilaita, että riveihinne jäi suuri aukko. Nyt jos hyökkää vihollinen,
niin aivan helpoksi käy hälle voittaminen.

CARBON.
Niin, vaarass' olemme — sit' ajatella sietää.
Vaan vihollinen ehk' ei tiedä…

DE GUICHE.
Kyllä tietää.
Ja hyökkää myös!

CARBON.
Oh!

DE GUICHE. Mulle vakoilija äsken toi sanan siitä. — Niin, he


hyökkää minne käsken. Hän virkkoi näet mulle: "Paikka valitkaa, jot'
olis teidän kaikkein helpoin puolustaa; ma sanon heille: siin' ei
vastarinta kohtaa, niin silloin joukkonsa he heti siihen johtaa." Näin
hän. Ma lausuin siihen: "Mistä merkin saatte, te siihen kohtaan sitte
hyökkäys suunnatkaatte!"

CARBON, sotureille.
Siis, herrat, aseisiin!

Kaikki nousevat. Miekkojen ja hankkilusten kalinaa,


kun niitä kiinnitetään paikoilleen.

DE GUICHE, Carbonille.
On tunti aikaa vielä.

I SOTURI.
Vai tunti vielä! No…

Kaikki istuutuvat ja jatkavat keskeytynyttä peliään.

DE GUICHE. Ja apujoukko tiellä on tänne. Tilaisuus on teillä hyvin


käyttää aikanne siihen asti.

CARBON.
Miten?

DE GUICHE. Voitte näyttää nyt, kuinka hupaisaa on olla


maalitaulu: se kunnia on — niinhän kuului äsken laulu!

CYRANO.
Siis näin te kostatte?

DE GUICHE. En teiltä sitä peitä: jos teistä pitäisin, niin tuskin oisin
teitä mä valinnut. Vaan kun ei ole, ketä voin ma teihin urhoudessa
verrata, niin valikoin ma teidät. Samalla kuin kostoani palvon, näin
myöskin kuninkaani parasta ma valvon.

CYRANO, kunniaa tehden.


Te kiitokseni vastaanottaa suvainnette!

DE GUICHE, vastaten Cyranon kunniantekoon.


Mä tiedän, että mieluisimmin taistelette
ei yksi yhtä, ei, vaan yksi sataa vastaan.
Ma varma oon, ett' on se riemu tänään teillä.

Menee Carbonin kanssa taustalle.

CYRANO, sotureille.
Hei, pojat Gaskonjan! On kilvessämme meillä
kuus taivaansinistä ja kultaist' olkahirttä.
Yks parru, verinen, nyt puuttuu ainoastaan.
Sen tänään noudamme me, laulain riemuvirttä.

De Guiche puhuu taustalla hiljaa Carbon de Castel-Jaloux'n


kanssa. Käskyjä annetaan. Vastarintaan valmistaudutaan.
Cyrano menee kohti Christiania, joka on pysynyt liikkumatta,
käsivarret ristissä rinnalla, ja panee kätensä hänen
olkapäälleen.

Christian?

CHRISTIAN, päätään pudistaen.


Roxane!

CYRANO.
Niin, niin!
CHRISTIAN. Mä vielä kerran hälle tahtoisin kirjoittaa, — niin, pikku
kirjelmälle jäähyväistunteheni uskoa…

CYRANO.
Sit' että
nyt tarvittaisiin, sen ma arvasin, ja siksi
tän kirjeen…
Ottaa esille kirjeen.
… laadin — sulta hälle hyvästiksi.

CHRISTIAN.
Ah! Näytä!

CYRANO.
Tuossa!

Christian ottaa kirjeen, avaa sen, rupeaa lukemaan, pysähtyy


äkkiä.

CHRISTIAN.
Mitä!? Katso!

CYRANO.
Kuinka?! — Miksi?

CHRISTIAN.
On tuossa pilkkuja…

CYRANO, ottaa nopeasti kirjeen, katsoo sitä, naivia teeskellen.


Pilkk…

CHRISTIAN.
Kaksi kyynelettä.
CYRANO.
Niin… Runoniekka joskus heltyy sanoistaan.
Se suurin viehätys on hänen toimessaan.
Tää kirje… ymmärrät… mua liikutti… ma itkin,
kun kirjoitin…

CHRISTIAN.
Sä itkit?…

CYRANO.
Poskiani pitkin
tais vierrä joku kyynel. Näes, kuolemaa
en pelkää, tiedät sen, — se mua kauhistaa,
mä etten häntä enää koskaan nähdä saa,
ett' en…
Christian katsoo häntä.
ett' emme…
Vilkkaasti.
ett'et sinä…

CHRISTIAN, sieppaa häneltä kirjeen. Anna mulle se kirje!

Kaukaa kentältä kuuluu kolinaa.

VARTIAN ÄÄNI.
Hiisi vie! Ken siellä?

Laukauksia, äänten kohua, kulkusten kilinää.

II VARTIAN ÄÄNI.
Eikö tulle…?
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookultra.com

You might also like