首页 > 解决方案 > 如何使用dyplr在不丢失R中小数位的情况下获得列的平均值?

问题描述

我需要获取 value 列的平均值,但保留下表的 Lat 和 Lon 小数位:

value    node_vsn       Lat      Lon
-0.38017      07C   -87.68302 41.91409
-0.03913      08B   -87.59871 41.78861
-0.03724      004   -87.62768 41.87838
-0.17809      072   -87.71299 41.75114
0.76364       06B   -87.66434 41.78676
-0.22900      089   -87.66239 41.89616
-0.59379      08F   -87.66595 41.96162
-2.45677      081   -87.64105 41.82353
-0.68662      086   -87.67917 41.96876

我这样做了:

locations <- locations %>%
      group_by(node_vsn, Lat, Lon) %>%
      summarize(mean_size = mean(value, na.rm = TRUE))

结果我得到了这个:

node_vsn   Lat   Lon mean_size
   <fct>    <dbl> <dbl>     <dbl>
  004      -87.6  41.9   -0.290 
  01C      -87.7  41.8    0.0685
  02A      -87.6  41.7   -0.327 
  06B      -87.7  41.8    0.579 
  072      -87.7  41.8    0.0191
  079      -87.7  41.9   -0.178 
  07C      -87.7  41.9   -0.193 
  081      -87.6  41.8   -2.32  

Lat 和 Lon 正在丢失小数位,我想保持原样。选项(pillar.sigfig = 7)不起作用

标签: r

解决方案


View(locations)
检查小数点是否丢失。

您可以将列更改为字符串。

locations %>% mutate (Lat = as.character(Lat))


推荐阅读