剪切和标签/断裂长度冲突(Cut and labels/breaks length conflict

2019-07-02 13:37发布

我与切换功能来准备数据的barplot直方图,但保持运行到我的标签和休息之间的矛盾似乎工作:

Error in cut.default(sample(1:1e+05, 500, T), breaks = sq, labels = sprintf("$%.0f", : labels/breaks length conflict

下面是一个例子。 我假装它是收入的数据,在$ 10,000桶使用的0至$ 100,000的序列。 我用的是同一个变量同时生成休息和标签,对标签的一面轻微格式化。 我想他们可能出于某种原因比较的特征向量,当有不同的长度,但他们似乎有相同的长度,还是。

> sq<-seq(0,100000,10000)
> cut(sample(1:100000, 500, T),breaks=sq,labels=sprintf("$%.0f",sq))
> length(sprintf("$%.0f",sq))
[1] [11]
> length(sq)
[1] [11]

编辑:

每@thelatemail和@Josh奥布莱恩的建议,我改变了代码,这和东西都​​在正常工作。 cut(sample(1:100000, 500, T),breaks=sq,labels=sprintf("$%.0f",sq[-1]))

Answer 1:

随着cut() ,11分断划定10个级别,这将只需要10个标签。 在"labels/breaks length conflict"错误是告诉你在调用sprintf()是一个提供太多标签的labels=参数。

在代码:

breaks <- 0:10/10
dat <- runif(1e4)

length(breaks)
# [1] 11
length(levels(cut(breaks, sq)))
# [1] 10


文章来源: Cut and labels/breaks length conflict
标签: r cut