【问题标题】:Convert "(3e+04,3.5e+04]" type to number in r将“(3e + 04,3.5e + 04]”类型转换为r中的数字
【发布时间】:2015-04-25 18:21:16
【问题描述】:

我有一条道路上的汽车速度数据集,以及汽车与测量起点的距离。

我想检查每 5 公里的平均值和 se,所以我按“距离起点”对数据进行排序,并使用我构建的函数制作了一个表格:

speedByKM <- function(testFile){
     setDT(a1a2011)[, list(Speed=mean(Speed)), by=list(cut(DistanceFromStart,breaks= seq(0, max(DistanceFromStart)+5000, by = 5000),include.lowest=TRUE))]->res
    setDT(a1a2011)[, list(Speed=se(Speed)), by=list(cut(DistanceFromStart,breaks= seq(0, max(DistanceFromStart)+5000, by = 5000),include.lowest=TRUE))]->res1
    res$se = res1$Speed 
       return(res)
 }

我得到的表是:

            cut    Speed         se
1: (3e+04,3.5e+04] 88.16993 0.04784163

2:   (5e+03,1e+04] 94.33507 0.02121293

3: (2e+04,2.5e+04] 99.26032 0.03680951

4: (2.5e+04,3e+04] 90.31163 0.03991980

5:       [0,5e+03] 94.69139 0.01872111

6: (1e+04,1.5e+04] 94.70515 0.02661366

7: (1.5e+04,2e+04] 97.34650 0.02880336

如何使 KM 显示为数字? 例如,而不是 '5e+03' 来显示 5000? 谢谢。

【问题讨论】:

标签: r formatting


【解决方案1】:

dig.lab 参数从其默认值 3 增加:

x <- (1:5) * 1e3

cut(x, c(500, 2500, 5000))
#[1] (500,2.5e+03]   (500,2.5e+03]   (2.5e+03,5e+03] (2.5e+03,5e+03] (2.5e+03,5e+03]
#Levels: (500,2.5e+03] (2.5e+03,5e+03]
cut(x, c(500, 2500, 5000), dig.lab = 4L)
#[1] (500,2500]  (500,2500]  (2500,5000] (2500,5000] (2500,5000]
#Levels: (500,2500] (2500,5000]

【讨论】:

    猜你喜欢
    • 2019-08-18
    • 2015-01-05
    • 2016-03-05
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2018-12-07
    相关资源
    最近更新 更多