Learn R Programming

FENmlm (version 2.4.4)

predict.femlm: Predict method for femlm fits

Description

This function obtains prediction from a fitted model estimated with femlm.

Usage

# S3 method for femlm
predict(object, newdata, type = c("response", "link"),
  ...)

Value

It returns a numeric vector of length equal to the number of observations in argument newdata.

Arguments

object

An object of class femlm. Typically the result of a femlm estimation.

newdata

A data.frame containing the variables used to make the prediction. If not provided, the fitted expected (or linear if type = "link") predictors are returned.

type

Character either equal to "response" (default) or "link". If type="response", then the output is at the level of the response variable, i.e. it is the expected predictor \(E(Y|X)\). If "link", then the output is at the level of the explanatory variables, i.e. the linear predictor \(X\cdot \beta\).

...

Not currently used.

Author

Laurent Berge

See Also

femlm, update.femlm, summary.femlm, vcov.femlm, getFE.

Examples

Run this code

# Estimation on iris data
res = femlm(Sepal.Length ~ Petal.Length | Species, iris)

# what would be the prediction if the data was all setosa?
newdata = data.frame(Petal.Length = iris$Petal.Length, Species = "setosa")
pred_setosa = predict(res, newdata = newdata)

# Let's look at it graphically
plot(c(1, 7), c(3, 11), type = "n", xlab = "Petal.Length",
     ylab = "Sepal.Length")

newdata = iris[order(iris$Petal.Length), ]
newdata$Species = "setosa"
lines(newdata$Petal.Length, predict(res, newdata))

# versicolor
newdata$Species = "versicolor"
lines(newdata$Petal.Length, predict(res, newdata), col=2)

# virginica
newdata$Species = "virginica"
lines(newdata$Petal.Length, predict(res, newdata), col=3)

# The original data
points(iris$Petal.Length, iris$Sepal.Length, col = iris$Species, pch = 18)
legend("topleft", lty = 1, col = 1:3, legend = levels(iris$Species))

Run the code above in your browser using DataLab