[R] tibble question with a mean
David L Carlson
dc@r|@on @end|ng |rom t@mu@edu
Fri Sep 21 05:19:14 CEST 2018
> 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.
More information about the R-help
mailing list