Re: [R] Finding a mean value of a variable holding a dummy variablefixed

From: Simon Blomberg <s.blomberg1_at_uq.edu.au>
Date: Mon, 31 Mar 2008 14:01:20 +1000

How about this? :-)

president <- c("Johnson", "Johnson", "Johnson"," Johnson"," Johnson",
"Johnson","Nixon", "Nixon", "Nixon", "Nixon", "Nixon", "Nixon")
approval <- c(3,4,5,6,7,8,6,5,4,3,2,1)

fn <- function (x) c(first=x[1], last=x[length(x)], mean=mean(x)) lst <- tapply(approval, president, fn)

# Or if you need a data.frame:

res <- data.frame(matrix(unlist(lst), byrow=TRUE, dimnames=list(names(lst), names(lst[[1]])), ncol=3))

Cheers,

Simon.

On Sun, 2008-03-30 at 23:21 -0400, Daniel Malter wrote:
> 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: r-help-bounces_at_r-project.org [mailto:r-help-bounces_at_r-project.org] Im
> Auftrag von Alexander Ovodenko
> Gesendet: Sunday, March 30, 2008 9:47 PM
> An: r-help_at_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_at_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_at_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.

-- 
Simon Blomberg, BSc (Hons), PhD, MAppStat. 
Lecturer and Consultant Statistician 
Faculty of Biological and Chemical Sciences 
The University of Queensland 
St. Lucia Queensland 4072 
Australia
Room 320 Goddard Building (8)
T: +61 7 3365 2506
http://www.uq.edu.au/~uqsblomb
email: S.Blomberg1_at_uq.edu.au

Policies:
1.  I will NOT analyse your data for you.
2.  Your deadline is your problem.

The combination of some data and an aching desire for 
an answer does not ensure that a reasonable answer can 
be extracted from a given body of data. - John Tukey.

______________________________________________
R-help_at_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.
Received on Mon 31 Mar 2008 - 04:06:35 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 31 Mar 2008 - 04:30:27 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive