gpt4 book ai didi

r - 剪切和标签/断裂长度冲突

转载 作者:行者123 更新时间:2023-12-04 00:22:11 26 4
gpt4 key购买 nike

我正在使用 cut 函数为条形图直方图准备数据,但在我的标签和中断之间不断遇到看似不一致的问题:
Error in cut.default(sample(1:1e+05, 500, T), breaks = sq, labels = sprintf("$%.0f", :
labels/breaks length conflict

这是一个例子。我假装它是收入数据,在 $10,000 的 bin 中使用 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 O'Brien 的建议,我将代码更改为此,一切正常。 cut(sample(1:100000, 500, T),breaks=sq,labels=sprintf("$%.0f",sq[-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

关于r - 剪切和标签/断裂长度冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13061738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com