为什么我会得到一个';断点不唯一';我的R代码中有错误吗?
我是新手,所以这可能是个愚蠢的错误。我试图使用cut函数,但我一直得到相同的错误。错误是:为什么我会得到一个';断点不唯一';我的R代码中有错误吗?,r,cut,mutate,R,Cut,Mutate,我是新手,所以这可能是个愚蠢的错误。我试图使用cut函数,但我一直得到相同的错误。错误是: Error: Problem with `mutate()` input `Calls_bucket`. x 'breaks' are not unique i Input `Calls_bucket` is `cut(...) 以下是我的代码(我尝试了许多不同的变体。以下是两个最新版本): m3% 变异(每小时调用次数=cut(每小时调用次数,c(2,4,6,8,10,12,14,16,18,20,最
Error: Problem with `mutate()` input `Calls_bucket`.
x 'breaks' are not unique
i Input `Calls_bucket` is `cut(...)
以下是我的代码(我尝试了许多不同的变体。以下是两个最新版本):
m3%
变异(每小时调用次数=cut(每小时调用次数,c(2,4,6,8,10,12,14,16,18,20,最大值(每小时调用次数,na.rm=T)),
标签=c(“0-2”、“2-4”、“4-6”、“6-8”、“8-10”、“10-12”、“12-14”、“14-16”、“16-18”、“18-20”、“20”))
m3%
变异(每小时呼叫次数=削减(每小时呼叫次数,中断次数=c(2,4,6,8,10,12,14,16,18,20,最大值(每小时呼叫次数,na.rm=T)),标签=c(“0-2”、“2-4”、“4-6”、“6-8”、“8-10”、“10-12”、“12-14”、“14-16”、“16-18”、“18-20”))
如果我简单地选择中断的数量,我就可以让它工作,但我想具体地定义它们。此代码有效,例如:
m3 <- m2 %>%
mutate(Calls_bucket=cut(Calls_per_Hour,12))
m3%
变异(调用\u bucket=cut(每小时调用\u,12))
提前谢谢。任何帮助都将不胜感激。对我来说,当我将0作为第一个剪切时,它起到了作用。并且指定了
include.lowest=TRUE
。因此,每0包含在第一个类别中。通过将include.lowest设置为FALSE(默认设置),0将转换为NA
m2 <- data.frame(Calls_per_Hour = 0:25)
m3 <- m2 %>%
mutate(Calls_bucket=cut(Calls_per_Hour,c(0,2,4,6,8,10,12,14,16,18,20, Inf),
labels=c("0-2","2-4","4-6","6-8","8-10","10-12","12-14","14-16","16-18","18-20",">20"),
include.lowest = TRUE))
m2定义中断时,如果使用的是max(每小时调用次数)
,请使用unique()。
这对我有用
m3 <- m2 %>%
mutate(Calls_bucket=cut(Calls_per_Hour,unique(c(0,2,4,6,8,10,12,14,16,18,20,max(Calls_per_Hour,na.rm=TRUE))),
labels=c("0-2","2-4","4-6","6-8","8-10","10-12","12-14","14-16","16-18","18-20",">20"),include.lowest = T))
m3%
mutate(Calls_bucket=cut(Calls_per_Hour,unique)(c(0,2,4,6,8,10,12,14,16,18,20,max)(Calls_per_Hour,na.rm=TRUE)),
标签=c(“0-2”,“2-4”,“4-6”,“6-8”,“8-10”,“10-12”,“12-14”,“14-16”,“16-18”,“18-20”,“20”),包括(最低=T))
unique()
确保切割的唯一向量,即如果max(每小时调用次数)
等于给定向量中的值,切割保持唯一
- 由于使用0开始标签,因此剪切中还应包含0
- 设置
include.lowest=TRUE
可确保为遇到的最低值分配一个标签
最大呼叫数是多少(每小时呼叫数,na.rm=T)
?它是否等于您现有的休息时间之一?如果您包含一个简单的示例输入和所需的输出,可以用来测试和验证可能的解决方案,那么就更容易为您提供帮助。请不要使用max
useInf
谢谢Hasan。这成功了!非常感谢您的帮助和解释。
m3 <- m2 %>%
mutate(Calls_bucket=cut(Calls_per_Hour,unique(c(0,2,4,6,8,10,12,14,16,18,20,max(Calls_per_Hour,na.rm=TRUE))),
labels=c("0-2","2-4","4-6","6-8","8-10","10-12","12-14","14-16","16-18","18-20",">20"),include.lowest = T))