You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在tidyverse中将murders数据框的rate列从7位小数格式化为2位小数

如何在tidyverse中格式化rate列保留2位小数?

嘿,看起来你已经在tidyverse的管道操作上走得很顺啦!要把rate列格式成保留两位小数,其实很容易,直接在你的管道链里加一步mutate()就行,这里给你几种常用的方法:

  • 基础四舍五入(数值型保留两位小数):用round()函数,它会把数值四舍五入到指定的小数位数,得到的结果还是数值型,适合后续还要做数值计算的场景:

    murders %>% 
      mutate(rate = total / population * 100000) %>%  # 先计算rate(如果你的数据里还没算的话)
      select(state, region, rate) %>% 
      filter(rate <= 0.71) %>% 
      mutate(rate = round(rate, digits = 2))
    
  • 强制显示两位小数(字符型):如果需要确保即使是类似0.7这样的数也显示成0.70,可以用sprintf()把数值转成固定格式的字符串,适合只需要展示结果的场景:

    murders %>% 
      mutate(rate = total / population * 100000) %>% 
      select(state, region, rate) %>% 
      filter(rate <= 0.71) %>% 
      mutate(rate = sprintf("%.2f", rate))
    
  • 数值型+固定显示格式:如果想保持rate为数值型,同时在输出/查看时固定显示两位小数,可以用scales包的number()函数(需要先加载包),兼顾计算和展示需求:

    library(scales)
    
    murders %>% 
      mutate(rate = total / population * 100000) %>% 
      select(state, region, rate) %>% 
      filter(rate <= 0.71) %>% 
      mutate(rate = number(rate, accuracy = 0.01))
    

内容的提问来源于stack exchange,提问作者LennyB51

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 05:38:10