[R] stdev error

Jeff Reichman re|chm@nj @end|ng |rom @bcg|ob@|@net
Fri Mar 11 15:14:52 CET 2022

r-help forum


When I run the following code 


my_tbl %>% 

  mutate(Bse_bwt = round(Bse_bwt * 2) / 2) %>% 

  group_by(Cat, Bse_bwt) %>% 

  summarize(count = n(), Bse_ftv = mean(Bse_ftv), stdev = sd(Bse_ftv))


I get the following error:


Error: `stdev` refers to a variable created earlier in this summarise().

Do you need an extra mutate() step?


I suspect it is because the standard deviation of a length-one vector is NA
and R is errorerrors out on the standard deviation  of 1. So then I tried


summarize(count = n(), Bse_ftv = mean(Bse_ftv), stdev = if(n()>1)
sd(Bse_ftv) else 0) and this didn't seem to work either. So there has to be
a way to add some sort of error checker to my standard deviation function to
check if n > 1 and then take the standard deviation in dplyr.




	[[alternative HTML version deleted]]

More information about the R-help mailing list