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

如何让R的head()输出保留perc_survived列6位小数(Swirl作业)

解决Swirl作业中head()显示泰坦尼克号数据perc_survived列6位小数的问题

我刚搞定了Swirl泰坦尼克号作业里的一个棘手问题,正好和你遇到的情况完全匹配:用dplyr处理数据后,perc_survived列在执行print(titanic_4)时能完整显示6位小数,但调用head(titanic_4)时就被截断成5位,试了一堆方法都没通过Swirl的校验:

  • 试了print(titanic_4[1:6,]),结果还是截断,没用;
  • 用sprintf()格式化会把列转成字符型,直接被Swirl拒绝了。

最后终于找到两个关键操作,组合起来就能完美满足要求:

  1. 全局设置显示精度
    先调整R的全局显示位数,确保足够容纳6位小数:

    options(digits = 8)
    
  2. 精确计算目标列
    在计算perc_survived的时候,直接用round()函数指定保留6位小数,而不是靠后续显示设置来凑:

    titanic_4 <- titanic_4 %>%
      mutate(perc_survived = round((100 * survivors / N), digits = 6))
    

做完这两步再调用head(titanic_4),perc_survived列就会稳稳显示6位小数,完全符合Swirl的作业要求啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:39:25