[R] Subtraction with aggregate

Gang Chen gangchen6 at gmail.com
Thu Jul 28 23:21:58 CEST 2016


Hi Jim and Jeff,

Thanks for the quick help!

Sorry I didn't state the question clearly: I want the difference
between 'neutral' and 'negative' for each subject. And another person
offered a solution for it:

aggregate(cbind(QM, yi) ~ subject, data = mydata, FUN = diff)


On Thu, Jul 28, 2016 at 4:53 PM, jim holtman <jholtman at gmail.com> wrote:
> Not sure what you mean by "nice way", but here is a dplyr solution:
>
>> library(dplyr)
>> mydata <- read.table(text = "subject   QM    emotion     yi
> +    s1   75.1017   neutral  -75.928276
> +    s2  -47.3512   neutral -178.295990
> +    s3  -68.9016   neutral -134.753906
> +    s1   17.2099  negative -104.168312
> +    s2  -53.1114  negative -182.373474
> +    s3  -33.0322  negative -137.420410", header = TRUE)
>> agg <- mydata %>%
> +         group_by(subject) %>%
> +         summarise(QM = mean(QM),
> +                   yi = mean(yi)
> +                   )
>>
>>
>> agg
> # A tibble: 3 x 3
>   subject       QM         yi
>    <fctr>    <dbl>      <dbl>
> 1      s1  46.1558  -90.04829
> 2      s2 -50.2313 -180.33473
> 3      s3 -50.9669 -136.08716
>
>
>
> Jim Holtman
> Data Munger Guru
>
> What is the problem that you are trying to solve?
> Tell me what you want to do, not how you want to do it.
>
> On Thu, Jul 28, 2016 at 4:40 PM, Gang Chen <gangchen6 at gmail.com> wrote:
>>
>> With the following data in data.frame:
>>
>> subject   QM    emotion     yi
>>   s1   75.1017   neutral  -75.928276
>>   s2  -47.3512   neutral -178.295990
>>   s3  -68.9016   neutral -134.753906
>>   s1   17.2099  negative -104.168312
>>   s2  -53.1114  negative -182.373474
>>   s3  -33.0322  negative -137.420410
>>
>> I can obtain the average between the two emotions with
>>
>> mydata <- read.table('clipboard', header=TRUE)
>> aggregate(mydata[,c('yi', 'QM')], by=list(subject=mydata$subject), mean)
>>
>> My question is, what is a nice way to get the difference between the
>> two emotions?
>>
>> Thanks,
>> Gang
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
>
>



More information about the R-help mailing list