David That's awesome! Thank you!!!
Erin Hodgess, PhD mailto: erinm.hodg...@gmail.com On Thu, Sep 20, 2018 at 9:19 PM David L Carlson <dcarl...@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-boun...@r-project.org] On Behalf Of Peter > Langfelder > Sent: Thursday, September 20, 2018 8:08 PM > To: Erin Hodgess <erinm.hodg...@gmail.com> > Cc: r-help <r-help@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.hodg...@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.hodg...@gmail.com > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@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@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@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.