>(I don't recall any Prime Minister called Johnson or Nixon, by the way...) 

That's why the variable was called "president". "prime.minister" is four
letters and a dot longer. That was too complicated ;)


-------------------------
cuncta stricte discussurus
-------------------------

-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Gesendet: Sunday, March 30, 2008 11:50 PM
An: [EMAIL PROTECTED]; [EMAIL PROTECTED]; r-help@r-project.org
Betreff: RE: [R] Finding a mean value of a variable holding a
dummyvariablefixed

Here is another way, starting with similar dummy data:

____________

PMData <- 
        data.frame(PM = c("Thatcher", "Thatcher", "Thatcher", "Thatcher",
                       "Thatcher", "Thatcher","Major", "Major", "Major",
                       "Major", "Major", "Major"),
                approval = c(3, 4, 5, 6, 7, 8, 6, 5, 4, 3, 2, 1))
                     
PMData <- transform(PMData, Month = 1:nrow(PMData))  ## add the time
variable

PM_average <- with(PMData, tapply(approval, PM, mean))

PM_span <- with(PMData, sapply(tapply(Month, PM, range),
                          function(x) structure(approval[Month[x]],
                                        names = c("First", "Last"))))
____________

> rbind(mean = PM_average, PM_span)
      Major Thatcher
mean    3.5      5.5
First   6.0      3.0
Last    1.0      8.0 


(I don't recall any Prime Minister called Johnson or Nixon, by the way...)

Bill Venables
CSIRO Laboratories
PO Box 120, Cleveland, 4163
AUSTRALIA
Office Phone (email preferred): +61 7 3826 7251 Fax (if absolutely
necessary):  +61 7 3826 7304
Mobile:                         +61 4 8819 4402
Home Phone:                     +61 7 3286 7700
mailto:[EMAIL PROTECTED]
http://www.cmis.csiro.au/bill.venables/ 

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Daniel Malter
Sent: Monday, 31 March 2008 1:22 PM
To: 'Alexander Ovodenko'; r-help@r-project.org
Subject: Re: [R] Finding a mean value of a variable holding a
dummyvariablefixed

I found a solution. It's probably not the easiest one, but it works.  It
assumes that your data frame is ordered from earliest to latest record for
each president, but it can be easily adjusted if you want to make it
dependent on a third column. The final vector "index" gives you the line
indices for the first record for each president. If you replace "min" by
"max" you get the last instead of the first record. You can then find the
values by


##Sample data

president=c("Johnson","Johnson","Johnson","Johnson","Johnson","Johnson","Nix
on","Nixon","Nixon","Nixon","Nixon","Nixon")
approval=c(3,4,5,6,7,8,6,5,4,3,2,1)
tapply(approval,president,mean)

##Find index for first row of each president; assumes ascending order of
observations; change "min" to "max" to find last record

index=NULL
for(i in 1:length(unique(president)))
  index[i]=min(which((president==unique(president)[i])==TRUE))

index

##Generate table with first approvals

first.approval=data.frame(cbind(index,president[index],approval[index]))
names(first.approval)=c("Index","President","Approval")
first.approval

Cheers,
Daniel




-------------------------
cuncta stricte discussurus
-------------------------

-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Alexander Ovodenko
Gesendet: Sunday, March 30, 2008 9:47 PM
An: r-help@r-project.org
Betreff: [R] Finding a mean value of a variable holding a dummy
variablefixed

I have time-series data on approval ratings of British Prime Ministers.  The
prime ministers dating from MacMillan onward till today are coded as dummy
variables and the approval ratings are entered for each month.  I want to
know the mean value of the approval rating of each Prime Minister in the
dataset and the approval rating during his/her first month and last month as
PM.  What R code should I enter for these data?  In other words, I want hold
the dummy corresponding to each Prime Minister fixed at value one and know
the first rating that PM has, the last rating s/he has, and the mean rating
s/he has.  Thanks.

        [[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.

______________________________________________
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.

______________________________________________
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