R 如何让cut2使用逗号?

R 如何让cut2使用逗号?,r,factors,hmisc,R,Factors,Hmisc,我正在使用库中的R函数cut2。我给它一个数字向量,然后将它转换成大小相等的区间: library(Hmisc) vals = c(100, 1000, 2000, 3000, 40000, 50000, 60000) vals_cut = cut2(vals, g=3) vals_cut [1] [ 100, 3000) [ 100, 3000) [ 100, 3000) [ 3000,50000) [ 3000,50000) [50000,60000] [50000,60000] Le

我正在使用库中的R函数
cut2
。我给它一个数字向量,然后将它转换成大小相等的区间:

library(Hmisc)
vals = c(100, 1000, 2000, 3000, 40000, 50000, 60000)
vals_cut = cut2(vals, g=3)
vals_cut
[1] [  100, 3000) [  100, 3000) [  100, 3000) [ 3000,50000) [ 3000,50000) [50000,60000] [50000,60000]
Levels: [  100, 3000) [ 3000,50000) [50000,60000]
formatInterval <- function(x, intsep=", ") {
  if (length(x) > 1) {
    sapply(x, formatInterval, intsep=intsep)
  } else {
    makePretty <- function(z) {
      prettyNum(gsub("[^0-9]", "", z), big.mark=",")
    }
    bracket1 <- substr(x, 1, 1)
    bracket2 <- substr(x, nchar(x), nchar(x))
    x2 <- strsplit(x, ",")
    paste(bracket1,
          makePretty(x2[[1]][1]),
          intsep,
          makePretty(x2[[1]][2]),
          bracket2,
          sep="")    
  }
}
当我与他人共享图像时(例如,在统计图形上),尝试在图像上使用
vals\u cut
时,会出现问题。人们发现输出很难读取,因为a)数字没有逗号,b)逗号和第二个数字的开头之间没有空格

我找不到cut2的任何选项可以这样修改输出。有人能推荐一种简单的方法吗?谢谢。

示例:

library(Hmisc)
vals <-  c(100, 1000, 2000, 3000, 40000, 50000, 60000)
vals_cut = cut2(vals, g=3)
vals_cut
库(Hmisc)

VAL这里有一个函数,用于设置间隔级别的格式:

library(Hmisc)
vals = c(100, 1000, 2000, 3000, 40000, 50000, 60000)
vals_cut = cut2(vals, g=3)
vals_cut
[1] [  100, 3000) [  100, 3000) [  100, 3000) [ 3000,50000) [ 3000,50000) [50000,60000] [50000,60000]
Levels: [  100, 3000) [ 3000,50000) [50000,60000]
formatInterval <- function(x, intsep=", ") {
  if (length(x) > 1) {
    sapply(x, formatInterval, intsep=intsep)
  } else {
    makePretty <- function(z) {
      prettyNum(gsub("[^0-9]", "", z), big.mark=",")
    }
    bracket1 <- substr(x, 1, 1)
    bracket2 <- substr(x, nchar(x), nchar(x))
    x2 <- strsplit(x, ",")
    paste(bracket1,
          makePretty(x2[[1]][1]),
          intsep,
          makePretty(x2[[1]][2]),
          bracket2,
          sep="")    
  }
}

结果在情节中到底是什么样的?同上(带括号等)?是的。它看起来和上面完全一样。
> formatInterval(levels(vals_cut), intsep=" - ")
      [  100, 3000)       [ 3000,50000)       [50000,60000] 
    "[100 - 3,000)"  "[3,000 - 50,000)" "[50,000 - 60,000]"