【问题标题】:How to know border values for cut function in R?如何知道 R 中剪切函数的边界值?
【发布时间】:2021-09-06 11:03:18
【问题描述】:

如果我没有指定任何边界而只写了所需的分割数,如何知道 R 中的 cut 函数生成的切割值(边界)是多少?

complexes_data2$FlatPlanAmount <-  cut(complexes_data2$FlatPlanAmount, 3,labels = FALSE)

什么是边框值?

【问题讨论】:

    标签: r cut categorical-data


    【解决方案1】:

    文档在详细信息部分的第一句中说,以下内容。我的重点。

    详情
    当断点指定为单个数字时,将数据的范围划分为等长的断点,然后将外部限制移开范围的0.1%,以确保极值两者都在休息间隔内。

    因此,使用rangediff 计算范围长度,然后将其除以中断数。将该值的倍数加到要断点的向量的min,得到断点。

    第一个测试数据。

    set.seed(2021)
    x <- runif(100, 0, 10)
    y <- cut(x, 3, labels = FALSE)
    

    现在计算休息时间。

    brks <- min(x) + (1:2)*(diff(range(x)) / 3)
    brks
    #[1] 3.428711 6.690577
    
    z <- cut(x, breaks = c(-Inf, brks, Inf), labels = FALSE)
    identical(y, z)
    #[1] TRUE
    

    这是对xbreaks 的任何值执行此操作的函数。

    where <- function(x, breaks, na.rm = TRUE){
      min(x, na.rm = na.rm) + seq_len(breaks)[-breaks]*(diff(range(x, na.rm = na.rm)) / breaks)  
    }
    
    where(x, 3)
    #[1] 3.428711 6.690577
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2018-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多