[R] Subtraction with aggregate

jim holtman jholtman at gmail.com
Thu Jul 28 22:53:10 CEST 2016


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

	[[alternative HTML version deleted]]



More information about the R-help mailing list