I am trying to estimate a production function called Cobb-Douglas.

For the period 1958 to 1972 and for the agricultural sector in Taiwan, we observed:

An: Year of observation
Y: Real production in millions New Dollars Taiwan (NDT)
L: Day of Labour, in millions
K: Real Capital in millions de NDT

We consider the following model M1: lm(formula = LY ~ LL + LK) for = 1958, ..., 1972 where the variables have been log-transformed.

  1. I try to test H0: $\beta_{1}+\beta_{2}=1$ versus H1: $\beta_{1}+\beta_{2}\neq 1$ with a Fisher statistic (bilateral test)
  2. I try to test the same hypothesis with a Student statistic this time.
  3. I try to test (unilateral test) H0: $\beta_{1}+\beta_{2}\leq 1$ versus H1: $\beta_{1}+\beta_{2}>1$ with a Student statistic

I'm not sure if this is what you're looking for, but you can use the delta method to approximate the standard error of $\beta_{1}+\beta_{2}$:

$$\newcommand{\SE}{\operatorname{SE}}\newcommand{\Var}{\operatorname{Var}}\newcommand{\Cov}{\operatorname{Cov}} \SE(\beta_{1}+\beta_{2})\approx \sqrt{\Var(\beta_{1})+\Var(\beta_{2})+2\cdot \Cov(\beta_{1},\beta_{2})} $$

After the regression command in R, you can type vcov(model) which gives you the variance-covariance matrix of the coefficients. The values on the diagonal of the variance-covariance matrix are the variances of the respective coefficients while the values off-diagonal represent the covariances between the corresponding coefficients.

With that you can calculate the confidence interval and the $t$-value (for a Wald-test):

$$ t_{\beta_{1}+\beta_{2}}=\frac{(\beta_{1}+\beta_{2} ) - 1}{\SE(\beta_{1}+\beta_{2})} $$

And from that you can use the $t$-distribution to calculate a two- or one-sided $p$-value with 2*pt(-abs(t), df=n-1) for a two-sided $p$-value and pt(-abs(t), df=n-1)($\leq 1$) and 1-pt(-abs(t), df=n-1) ($\geq 1$) for the one-sided $p$-values. Please note that the $t$-distribution and the $F$-distribution are closely related: the square of the $t$-distribution with df degrees of freedom is the $F$-distribution with 1 numerator degree of freedom and df denominator degrees of freedom. It doesn't matter if you use the $t$-value and the $t$-distribution or the squared $t$-value and the $F$-distribution (pf(t^2, df1=1, df2=n-1)) to calculate the $p$-values. So I don't know what the difference between 1) and 2) is.


The R-code for the steps explained above are (it's not the fastest way but I concentrated on legibility):

1) Calculate the variance-covariance-matrix with

vcov.mat <- vocv(cobbdoug)

2) Calculate the approximate standard error of $\beta_{1}+\beta_{2}$:

se.b1b2 <- sqrt(vcov.mat[2,2] + vcov.mat[3,3] + 2*vcov.mat[2,3])

3) Calculate the $t$-value:

t.val <- ((coef(cobbdoug)[2] + coef(cobbdoug)[3]) - 1)/se.b1b2

4) Calculate the $p$-value for question 1):

2*pt(-abs(t.val), df=cobbdoug$df.residual) # assuming that you have 15 years and 3 coefficients, so df=15-3 = 12

5) Calculate the $p$-value for question 3):

pt(-abs(t.val), df=cobbdoug$df.residual)
  • $\begingroup$ Hi, I really thank you lots for your complete answer. But what I am looking for are the R codes. My starting R codes for the Cobb-Douglas function is : # Cobb-Douglas model LY=log(Y) LL=log(L) LK=log(K) mco=lm(Y~L+K) summary(mco) cobbdoug=lm(LY~LL+LK) What I would like to know is how to write the R codes for my 3 questions from my first mail. I already thanks you lots for your answers Looking forward to reading you $\endgroup$ – varin sacha May 7 '13 at 13:14
  • $\begingroup$ I forgot to precise that I am "starting" with R. $\endgroup$ – varin sacha May 7 '13 at 13:28
  • $\begingroup$ Do you have a question? $\endgroup$ – IMA May 7 '13 at 13:30
  • $\begingroup$ Hi,Really thank you loads for your quick and very complete answers. Is it normal that when I write the codes in my R console I don't obtain any results except for the 2 p-value ? > vcov.mat <- vcov(cobbdoug) > > > se.b1b2 <- sqrt(vcov.mat[2,2] + vcov.mat[3,3] + 2*vcov.mat[2,3]) > > > t.val <- ((coef(cobbdoug)[2] + coef(cobbdoug)[3]) - 1)/se.b1b2 > > > 2*pt(-abs(t.val), df=12) LL 0.05915371 > > > pt(-abs(t.val), df=12) LL 0.02957686 $\endgroup$ – varin sacha May 7 '13 at 14:12
  • $\begingroup$ Yes, that's normal. The other statements are assignements which means that the values are assigned to variable names with <-. I recommend that you consult an introduction to R to get familiar with R. $\endgroup$ – COOLSerdash May 7 '13 at 14:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.