Re: [R] recode Variable in dependence of values of two other variables

2011-08-12 Thread Mikhail Titov
?aggregate

aggregate(X~ID, your.data.frame.goes.here, mean)

Mikhail


 -Original Message-
 From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org]
On
 Behalf Of Julia Moeller
 Sent: Friday, August 12, 2011 10:10 AM
 To: r-help@r-project.org
 Subject: [R] recode Variable in dependence of values of two other
variables
 
 Hi,
 
 as an R-beginner, I have a recoding problem and hope you can help me:
 
 I am working on a SPSS dataset, which I loaded into R (load(C:/...)
 
 I have  2 existing Variables: ID and X , and one variable to be
 computed: meanX.dependID (=mean of X for all rows in which ID has the same
 value)
 
 ID = subject ID.  Since it is a longitudinal dataset, there are repeated
 measurement points for each subject, each of which appears in a new row.
 So, each ID value appears in many rows. (e.g. ID ==1 in row 1:5; ID ==2 in
 rows 6:8 etc).
 
 
 Now: For all rows, in which ID has a certain value, meanX.dependID shall
be
 the mean of X in for these rows. How can I automatisize that, without
 having to specify the number of the rows each time?
 
 e.g.
 
 
 IDXmeanX.dependID
 122.25
 132.25
 112.25
 132.25
 253.3
 223.3
 233.3
 343
 313
 323
 333
 343
 353
 
 
 Thanks a lot! Hope this is the right place to post, if not, please tell
me!
 best,
 Julia

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


Re: [R] recode Variable in dependence of values of two other variables

2011-08-12 Thread Dennis Murphy
Hi:

Here are several equivalent ways to produce your desired output:

# Base package: transform()

df - transform(df, mean = ave(x, id, FUN = mean))

# plyr package
library('plyr')
ddply(df, .(id), transform, mean = mean(x))

# data.table package
library('data.table')
dt - data.table(df, key = 'id')
dt[, list(x, mean = mean(x)), by = 'id']

# doBy package
library('doBy')
transformBy(~ id, data = df, mean = mean(x))

HTH,
Dennis

On Fri, Aug 12, 2011 at 8:10 AM, Julia Moeller
julia.moel...@uni-erfurt.de wrote:
 Hi,

 as an R-beginner, I have a recoding problem and hope you can help me:

 I am working on a SPSS dataset, which I loaded into R (load(C:/...)

 I have  2 existing Variables: ID and X ,
 and one variable to be computed: meanX.dependID (=mean of X for all rows in
 which ID has the same value)

 ID = subject ID.  Since it is a longitudinal dataset, there are repeated
 measurement points for each subject, each of which appears in a new row. So,
 each ID value appears in many rows. (e.g. ID ==1 in row 1:5; ID ==2 in rows
 6:8 etc).


 Now: For all rows, in which ID has a certain value, meanX.dependID shall be
 the mean of X in for these rows. How can I automatisize that, without having
 to specify the number of the rows each time?

 e.g.


 ID    X    meanX.dependID
 1    2    2.25
 1    3    2.25
 1    1    2.25
 1    3    2.25
 2    5    3.3
 2    2    3.3
 2    3    3.3
 3    4    3
 3    1    3
 3    2    3
 3    3    3
 3    4    3
 3    5    3


 Thanks a lot! Hope this is the right place to post, if not, please tell me!
 best,
 Julia

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