Learn R Programming

mfx (version 1.2-2)

betamfx: Marginal effects for a beta regression.

Description

This function estimates a beta regression model and calculates the corresponding marginal effects.

Usage

betamfx(formula, data, atmean = TRUE, robust = FALSE, 
        clustervar1 = NULL, clustervar2 = NULL, 
        control = betareg.control(), link.phi = NULL, type = "ML")

Arguments

formula

an object of class ``formula'' (or one that can be coerced to that class).

data

the data frame containing these data. This argument must be used.

atmean

default marginal effects represent the partial effects for the average observation. If atmean = FALSE the function calculates average partial effects.

robust

if TRUE the function reports White/robust standard errors.

clustervar1

a character value naming the first cluster on which to adjust the standard errors.

clustervar2

a character value naming the second cluster on which to adjust the standard errors for two-way clustering.

control

a list of control arguments specified via betareg.control.

link.phi

as in the betareg function.

type

as in the betareg function.

Value

mfxest

a coefficient matrix with columns containing the estimates, associated standard errors, test statistics and p-values.

fit

the fitted betareg object.

dcvar

a character vector containing the variable names where the marginal effect refers to the impact of a discrete change on the outcome. For example, a factor variable.

call

the matched call.

Details

The underlying link function in the mean model (mu) is ``logit''. If both robust=TRUE and !is.null(clustervar1) the function overrides the robust command and computes clustered standard errors.

References

Francisco Cribari-Neto, Achim Zeileis (2010). Beta Regression in R. Journal of Statistical Software 34(2), 1-24.

Bettina Gruen, Ioannis Kosmidis, Achim Zeileis (2012). Extended Beta Regression in R: Shaken, Stirred, Mixed, and Partitioned. Journal of Statistical Software, 48(11), 1-25.

See Also

betaor, betareg

Examples

Run this code
# NOT RUN {
# simulate some data
set.seed(12345)
n = 1000
x = rnorm(n)

# beta outcome
y = rbeta(n, shape1 = plogis(1 + 0.5 * x), shape2 = (abs(0.2*x)))
# use Smithson and Verkuilen correction
y = (y*(n-1)+0.5)/n

data = data.frame(y,x)
betamfx(y~x|x, data=data)
# }

Run the code above in your browser using DataLab