使用此函数使所有汇总函数使用na.rm参数True
:
df %>% summarise_if(is.numeric, list(mean = ~mean(., na.rm = T),
sd = ~sd(., na.rm = T),
median = ~median(., na.rm = T),
min = ~min(., na.rm = T),
max = ~max(., na.rm = T))) %>% t()
我希望它能给予这样的结果:
但它给出了2列数据,例如:
为什么要这样实施?有没有一个优雅的解决方案?
3条答案
按热度按时间xjreopfe1#
我发现下面的代码更有效率,因为
1.只能调用一次na.rm参数;
1.你只需要一个旋转操作。
qv7cva1a2#
使用这种代码可以解决问题,但无论如何都不优雅。
laik7k3q3#
另一个主意。很明显,最终结果还有一些需要改进的地方(例如,列名)。
我认为可以制作一个 Dataframe 友好的
t()
版本,但仍然使用pivot_longer()
和pivot_wider()
;很难避免这些功能。创建于2023-05-20使用reprex v2.0.2