gpt4 book ai didi

r - 将 0 作为填充添加到 R 中带小数点的数字

转载 作者:行者123 更新时间:2023-12-01 10:29:37 24 4
gpt4 key购买 nike

我有一个带小数点的数字向量。我想在小数点前只有一个整数的数字前面添加一个 0,同时在具有 1 的值中保留尾随的 0。例如 5.466 应该读取 05.466 并且 43.770 应该读取 43.770

这是数据

longM<-c(18.846, 18.906, 5.466, 11.19, 6.894, 7.578, 5.13, 53.868, 57.216, 
0.228, 41.892, 57.576, 44.19, 29.292, 16.452, 48.306, 16.224,
28.566, 32.328, 25.908, 9.318, 7.332, 38.838, 4.812, 27.588,
20.922, 30.804, 43.872, 7.734, 41.856, 3.222, 47.364, 5.754,
21.792, 43.494, 50.82, 48.618, 4.524, 5.454, 48.744, 36.504,
44.328, 38.61, 39.084, 38.52, 39.504, 4.206, 47.928, 15.996,
42.99, 46.116, 26.496, 44.148, 40.284, 43.296, 34.248, 22.242,
29.838, 31.38, 27.12, 22.278, 21.36, 20.142, 15.93, 54.726, 12.072,
13.05, 11.886, 1.242, 54.42, 48.132, 42.954, 4.986, 32.604, 12.018,
43.77, 26.172, 30.27, 39.738, 47.514, 27.012, 45.654, 35.796,
44.52, 30.564)

我试过了
longM2<-formatC(longM,flag=0, width=6,drop0trailing=F)


library(stringr)
longM22<-str_pad(longM,width=6,side="both",pad="0")

最佳答案

您可以使用 sprintf :

sprintf("%06.3f",longM)

例如
> sprintf("%06.3f",c(1.0, 33.4, 12.345,0.1243,12000))
[1] "01.000" "33.400" "12.345" "00.124" "12000.000"
%06.3f 格式的意思是:
  • 你想用零填充数字
  • 您想使用 6 个字符 (*) 来格式化数字
  • 你想要
  • 点后的 3 位精度

    (*) 请注意,如果数字是 >= 100 ,无论如何都会在点之前显示超过 2 位数字(基本上打破了格式限制)。

    关于r - 将 0 作为填充添加到 R 中带小数点的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44115667/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com