Cut down:cut ()-包括最低值(lowest cut)

我想使用cut()中定义的中断来剪切数据:

x = c(-10:10)
cut(x, c(-2,4,6,7))
[1] <NA>   <NA>   <NA>   <NA>   <NA>   <NA>   <NA>   <NA>   <NA>   (-2,4] (-2,4] (-2,4] (-2,4] (-2,4] (-2,4] (4,6]  (4,6]  (6,7]  <NA>   <NA>  
[21] <NA>  
Levels: (-2,4] (4,6] (6,7]

但是,我也想获得级别(minimum:-2](7:maximum]。在汽车包装的功能recode()中,可以使用“lo:”。是否有类似的东西可用于切割?

9
x <- -10:10
cut(x, c(-Inf, -2, 4, 6, 7, +Inf))
# Levels: (-Inf,-2] (-2,4] (4,6] (6,7] (7, Inf]
6

findInterval是答案。

i <- findInterval(x, c(-2,4,6,7))
cbind(x, i)
        x i
 [1,] -10 0
 [2,]  -9 0
 [3,]  -8 0
 [4,]  -7 0
 [5,]  -6 0
 [6,]  -5 0
 [7,]  -4 0
 [8,]  -3 0
 [9,]  -2 1
[10,]  -1 1
[11,]   0 1
[12,]   1 1
[13,]   2 1
[14,]   3 1
[15,]   4 2
[16,]   5 2
[17,]   6 3
[18,]   7 4
[19,]   8 4
[20,]   9 4
[21,]  10 4
6

您可以使用min()max()来评估间隔范围(如 Gavin 提到的),并设置include.lowest = TRUE以确保最小值(这里:-10)是间隔的一部分。

输入:

x = c(-10:10)
cut(x, c(min(x),-2,4,6,7,max(x)), include.lowest = TRUE)

输出:

 [1] [-10,-2] [-10,-2] [-10,-2] [-10,-2] [-10,-2] [-10,-2] [-10,-2] [-10,-2] [-10,-2] (-2,4]  
[11] (-2,4]   (-2,4]   (-2,4]   (-2,4]   (-2,4]   (4,6]    (4,6]    (6,7]    (7,10]   (7,10]  
[21] (7,10]  
Levels: [-10,-2] (-2,4] (4,6] (6,7] (7,10]
2

我遇到了麻烦填充与Inf& amp;-Inf之前(虽然正是为什么在这个小时逃脱我),所以一个更安全的解决方案可能是用最小和最大值垫适当扩展:

x <- c(-10:10)
cut(x, c(min(x) -1 , -2, 4, 6, 7, max(x) + 1))
R> x <- c(-10:10)
R> cut(x, c(min(x) -1 , -2, 4, 6, 7, max(x) + 1))
 [1] (-11,-2] (-11,-2] (-11,-2] (-11,-2] (-11,-2] (-11,-2] (-11,-2] (-11,-2]
 [9] (-11,-2] (-2,4]   (-2,4]   (-2,4]   (-2,4]   (-2,4]   (-2,4]   (4,6]   
[17] (4,6]    (6,7]    (7,11]   (7,11]   (7,11]  
Levels: (-11,-2] (-2,4] (4,6] (6,7] (7,11]

在大多数情况下,斯文的答案 / 解决方案就足够了。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(470)
B/s和c/s区别:( char&c:s)和(charc:s)之间的区别
上一篇
Fgr7.2pd/c3nh-n1:如何求解f(n)=f((3/4)n)+f(n^ (1-b))+cn^ b
下一篇

相关推荐

  • comeandgetyourlove音乐爱就在你身边

    Come and Get Your Love是一首热门的歌曲,由美国摇滚乐队Redbone演唱。这首歌曲于1974年发行,被收录在他们的专辑《Wovoka》中。歌曲以放克曲风为主,旋律活泼,曲调悠扬,歌词朗朗上口,深受歌迷喜爱。…

    2023-06-29 07:47:31
    0 64 51
  • codeblocks无法编译运行:Codeblocks无法编译运行的解决方案

    codeblocks无法编译运行的原因可能有很多,下面以一段简单的C语言代码为例,来说明codeblocks无法编译运行的情况。…

    2023-07-11 08:01:55
    0 18 97
  • gitlab ci 自动化部署:使用 Gitlab CI 自动化部署提升开发效率

    GitLab CI 自动化部署是一种基于 GitLab CI/CD 的自动化部署方案,可以实现快速、可靠的部署流程。它将代码提交、构建、测试、部署等步骤集成在一起,使得开发者可以更加轻松地完成部署工作。下面是一个示例 .gitlab-ci.yml 文件,可以帮助你实现 GitLab CI 自动化部署:…

    2023-05-20 05:45:38
    0 80 89
  • xl和xe汽车cvt:探索XL和XE汽车的CVT技术优势

    XL和XE汽车CVT是一种变速器,它使用液力变矩器代替传统的机械变速器,以达到更高的效率。它的工作原理是,当发动机输出功率时,液力变矩器就会将这些功率转换为液压能量,然后将能量传递到变速器的输出轴上,从而实现变速。…

    2023-05-16 07:36:03
    0 51 35
  • js添加css:This is a Title

    使用js添加css可以通过修改元素的style属性来实现,具体代码如下:…

    2023-05-27 12:30:24
    0 65 21
  • css 字符间距:### 世界上最美的地方

    示例示例CSS 字符间距是指在文本中的字符之间添加间距,以增强文本的可读性。它可以使文本更容易阅读,也可以使文本看起来更美观。代码示例:…

    2023-04-15 08:45:29
    0 64 39
  • git 删除commit记录:回滚Git Commit记录

    git删除commit记录可以使用git reset命令。使用方法:…

    2023-07-07 04:31:44
    0 56 95
  • java实现tcp:使用Java实现TCP网络编程

    TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议。它使用三次握手来建立可靠的连接,并且在数据传输期间可以检测丢失的数据包并重新发送。…

    2023-01-31 10:33:14
    0 33 80

发表评论

登录 后才能评论

评论列表(23条)