-- or, at least, a variable whose actual numeric values are meaningless, for example, zip codes). A data frame may be seen as a list of vectors, each with the same length. A matrix M of size n is said to be diagonalizable if there exists a basis e_1,...,e_n of R^n so that M e_i = lambda_i e_i for all i, for some (real or sometimes complex) numbers.

Usually, the table has one row for each subject in the experiment, and one column for each variable measured in the experiement -- as the different variables measure different things, they maight have different types: some will be quantitative (numbers; each column may contain a measurement in a different unit), others will be qualitative (i.e., factors). Geometrically, it means that, in the direction of each e_i, the matrix acts like a homothety. Environment")=length 149 We shall soon see another application of attributes: the notion of class -- the class of an object is just the value of its "class" attribute, if any.

Same for the "summary" function: it takes the result of a function (say, the result of the "lm" function), builds another object (here, of class "summary.lm") on which the "print" function is called.

get Anywhere("print.summary.lm") A single object matching "print.summary.lm" was found It was found in the following places registered S3 method for print from namespace stats namespace:stats with value function (x, digits = max(3, get Option("digits") - 3), = x$symbolic.cor, signif.stars = get Option("show.signif.stars"), ...) { cat("\n Call:\n") cat(paste(deparse(x$cal (...) But it does not always work...

This is a generic function: we can use the same function on different objects (lm for linear regression, glm for Poisson or logistic regression, lme for mixed models, etc.). Foo" where "Foo" is the class of the object given as a first argument. Struct TS* Non-visible functions are asterisked function (object, newdata, = FALSE, scale = NULL, df = Inf, interval = c("none", "confidence", "prediction"), level = 0.95, type = c("response", "terms"), terms = NULL, na.action = na.pass, ...) { tt The problem is that the function is in a given namespace (R functions are stored in "packages" and each function is hidden in a namespace; the functions that a normal user is likely to use directly are exported and visible -- but the others, that are not supposed to be invoked directly by the user are hidden, invisible).

We can get it with the "get Anywhere" function (here again, I do not include all the resulting code).

The "gl" command serves a comparable purpose, mainly to create factors -- more about this in a few pages. When you look at them, matrices are rather complicated (there are a lot of coefficients).