[R] tibble question with a mean
Erin Hodgess
er|nm@hodge@@ @end|ng |rom gm@||@com
Fri Sep 21 06:01:05 CEST 2018
David
That's awesome!
Thank you!!!
Erin Hodgess, PhD
mailto: erinm.hodgess using gmail.com
On Thu, Sep 20, 2018 at 9:19 PM David L Carlson <dcarlson using tamu.edu> wrote:
> > xt[, 2:3] %>% colMeans
> y z
> 2.5000000 -0.4401625
>
> > xt[2] %>% colMeans
> y
> 2.5
> > t(xt[, 2]) %>% mean
> [1] 2.5
>
> -------------------------
> David L. Carlson
> Department of Anthropology
> Texas A&M University
>
> -----Original Message-----
> From: R-help [mailto:r-help-bounces using r-project.org] On Behalf Of Peter
> Langfelder
> Sent: Thursday, September 20, 2018 8:08 PM
> To: Erin Hodgess <erinm.hodgess using gmail.com>
> Cc: r-help <r-help using r-project.org>
> Subject: Re: [R] tibble question with a mean
>
> I don't know tibble, so I'll do the same with a plain data frame:
>
> a =
>
> data.frame(x=LETTERS[1:4],y=1:4,z=rnorm(4),a=c("dog","cat","tree","ferret"))
> > a
> x y z a
> 1 A 1 -0.08264865 dog
> 2 B 2 0.32344426 cat
> 3 C 3 -0.80416061 tree
> 4 D 4 1.27052529 ferret
> > mean(a[2:3])
> [1] NA
> Warning message:
> In mean.default(a[2:3]) : argument is not numeric or logical: returning NA
> > mean(as.matrix(a[2:3]))
> [1] 1.338395
>
> The reason you get an error on mean(a[2:3]) is that a[2:3] is still a data
> frame (a special list) and you cannot simply apply mean to a list. You need
> to first convert to a matrix or vector which can then be fed to mean().
>
> Peter
>
>
> On Thu, Sep 20, 2018 at 5:50 PM Erin Hodgess <erinm.hodgess using gmail.com>
> wrote:
>
> > Hello!
> >
> > Here is a toy tibble problem:
> >
> > xt <-
> > tibble(x=LETTERS[1:4],y=1:4,z=rnorm(4),a=c("dog","cat","tree","ferret"))
> > str(xt)
> > Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 4 obs. of 4 variables:
> > $ x: chr "A" "B" "C" "D"
> > $ y: int 1 2 3 4
> > $ z: num 0.3246 0.0504 0.339 0.4872
> > $ a: chr "dog" "cat" "tree" "ferret"
> > #No surprise
> > xt %>% mean
> > [1] NA
> > Warning message:
> > In mean.default(.) : argument is not numeric or logical: returning NA
> > #surprised!
> > mean(xt[2:3])
> > [1] NA
> > Warning message:
> > In mean.default(xt[2:3]) : argument is not numeric or logical: returning
> NA
> > xt[, 2:3] %>% mean
> > [1] NA
> > Warning message:
> > In mean.default(.) : argument is not numeric or logical: returning NA
> >
> > I have a feeling that I'm doing something silly wrong. Has anyone run
> into
> > this, please? I saw something like this on this list, but didn't see a
> > solution.
> >
> > Thanks,
> > Erin
> >
> >
> > Erin Hodgess, PhD
> > mailto: erinm.hodgess using gmail.com
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help using 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]]
>
> ______________________________________________
> R-help using 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