This is rather obviously homework, and you have not read the Posting Guide, and you have not addressed the question of academic integrity policies that are probably in force at your university.

--
David
On Oct 31, 2009, at 1:30 PM, md. jakir hussain talukdar wrote:

Hi,

I am new to R. My problem is with the ordered logistic model. Here is my
question:


Generate an order discrete variable using the variable

wrwage1 = wages in first full calendar quarter after benefit application

in the following way:
*

wage*1*Ordered *=

1 *if*0 *· wrwage*1 *< *1000

2 *if*1000 *· wrwage*1 *< *2000

3 *if*2000 *· wrwage*1 *< *3000

4 *if*3000 *· wrwage*1 *< *4000

5 *ifwrwage*1 *¸ *4000.

Estimate an order logit model using the new created discrete variable as the

dependent variable with the following control variables:

black = 1 if black

hispanic = 1 if hispanic

otherrace = 1 if black = 0 and hispanic = 0

female = 1 if female

wba = claimant's UI weekly bene¯t amount (*=week*)

age = age of claimant when claim is ¯led (years)

bp1000 = base period wages (thousand $)

inuidur1 = duration of unemployment (weeks)

I have written the program as:

pennw <- read.table("G:/Econometrics II/pennsylvania.txt", header=TRUE)

names(pennw)

[1] "group"     "t0"        "t1"        "t2"        "t3"        "t4"

[7] "intercept" "black" "hispanic" "female" "wba" "bonus"

[13] "age" "recall" "pd" "bp1000" "numpay" "wrwage0"

[19] "wrwage1" "wrwage2" "wrwage3" "wrwage4" "inuidur1" "regui"

wage <- pennw$wrwage1

wage[wage>=0 & wage<1000] <- 1

wage[wage>=1000 & wage<2000] <- 2

wage[wage>=2000 & wage<3000] <- 3

wage[wage>=3000 & wage<4000] <- 4

wage[wage>=4000] <- 5

intercept <- pennw$intercept

blac <- pennw$black

hisp <- pennw$hispanic

fem <- pennw$female

wba <- pennw$wba

age <- pennw$age

bpw <- pennw$bp1000

dur <- pennw$inuidur1

fw <- factor(wage)

Ik <- model.matrix(~fw-1)

I1 <- Ik[,1]

I2 <- Ik[,2]

I3 <- Ik[,3]

I4 <- Ik[,4]

I5 <- Ik[,5]

yelmon <- function(theta,x){

+ mu1 <- theta[1]

+ mu2 <- theta[2]

+ mu3 <- theta[3]

+ mu4 <- theta[4]

+ mu5 <- theta[5]

+ beta <- theta[6]

+ logL <-
sum((Ik*log((exp(mu2-(x*beta))/(1+exp(mu2-(x*beta))))-(exp(mu1- (x*beta))/(1+exp(mu1-(x*beta))))))+(Ik*log((exp(mu3-(x*beta))/ (1+exp(mu3-(x*beta))))-(exp(mu2-(x*beta))/(1+exp(mu2-(x*beta))))))+ (Ik*log((exp(mu4-(x*beta))/(1+exp(mu4-(x*beta))))-(exp(mu3-(x*beta))/ (1+exp(mu3-(x*beta))))))+(Ik*log((exp(mu5-(x*beta))/(1+exp(mu5- (x*beta))))-(exp(mu4-(x*beta))/(1+exp(mu4-(x*beta))))))+(Ik*log(1- (exp(mu5-(x*beta))/(1+exp(mu5-(x*beta)))))))

+ return(-logL)

+ }

optim(yelmon, c(0,1), x=c(intercept, blac, hisp, fem, wba, age, bpw, dur))

I should be getting the values for all beta’s and mu’s here
) The program
should be done by maximum likelihood not by calling ready-made commands

Rubel

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to