[英]R which argument fits well to obtain nonuniform bins using “plot” to build an informative histogram
我是R的新手,我正尝试绘制海量数据的累积频率直方图(非均匀区间)(几百万个正数,最小值为“ 1”,最大值因数据而异,例如实例1 * 10 ^ 6或1 * 10 ^ 5)。我使用此简单代码生成了数据的直方图。
例如:-样本数据
[89601] 10 2 2 4 3 12 3 25 25 2
[89611] 5 5 5 2 23 22 14 8 13 10
[89621] 13 19 157 2 3 2 4 2 3 33
[89631] 22 2 14 9 2 3 3 3 8 2
[89641] 8 3 2 127 8 2 18 2 4 2
[89651] 2 13 3 34 8 2 6 10 3 7
[89661] 3 9 7 3 36 9 5 2 10 15
[89671] 7 2 23 2 2 2 2 7 6 25
[89681] 3 3 2 6 37 49 28 11 3 35
[89691] 2 2 8 3 3 2 2 4 3 12
[89701] 3 5 2 7 3 2 15 6 3 14
[89711] 13 5 3 2 2 8 34 4 4 65
[89721] 5 9 12 2 11 2 2 79 9 13
[89731] 2 66 2 9 10 22 11 2 6 3
[89741] 12 2 11 5 4 4 2 4 3 4
[89751] 2 8 9 3 2 2 84 7 11 10
[89761] 8 30 16 3 63 2 2 24 13 2
[89771] 11 37 2 9 21 21 10 2 2 49
[89781] 3 3 8 5 2 19 9 6 5 4
[89791] 4 2 9 2 10 33 5 4 2 2
[89801] 4 2 2 4 9 3 11 2 5 142
[89811] 17 2 11 4 2 8 26 2 9 8
[89821] 10 2 4 2 5 2 20 7 145 11
[89831] 22 19 8 14 18 39 3 2 3 3
[89841] 2 11 10 3 2 3 3 5 6 12
[89851] 17 5 3 8 2 2 2 2 2 5
[89861] 4 2 13 3 2 2 2 2 3 2
[89871] 4 3 21 2 6 2 8 9 7 14
[89881] 2 582 3 15 11 3 20 16 9 8
[89891] 6 2 6 7 3 20 17 2 9 5
[89901] 5 11 2 12 7 2 46 2 144 9
[89911] 2 3 36 25 3 2 16 2 2 119
[89921] 5 5 10 6 2 2 6 84 13 2
[89931] 2 6 6 2 17 3 7 4 102 48
data <- read.table("sample.txt", header=FALSE)
data <- hist(data$V1, breaks=length(data$V1), xlim=c(0,4000000))
plot(data)
当我这样做时,我可以获得所有数据(正数)在x轴上并在y轴上计数的直方图。然后再次将x的限制仅更改为感兴趣的区域
plot(data, xlim=c(0,200000))
就像在绘制直方图之前一样,但是使用“图”时,我无法定义垃圾箱的数量,因此直方图不清晰(不像我想要的条形图)而且内容丰富。
由于我是这个论坛的新手,所以我不知道如何上传图像,因此我无法提供直方图。
任何建议将非常有帮助。
为了绘制直方图,您可以使用hist()函数:
hist(data$V1, xlim=c(0,200000), breaks=100)
breaks参数显示将绘制多少条。 但是此数字与所有绘图有关,与您指定的xlim无关。 因此,首先,它将以给定的中断次数生成直方图,然后将其剪切为所需的部分图。
但是还有另一种绘制条形图的方法:
data <- read.table("sample.txt", header=FALSE)
data.hist <- hist(data$V1, breaks=length(data$V1), xlim=c(0,4000000))
plot(data.hist$counts, type='h')
hist函数返回一个代表直方图参数的对象。 我想,您对“计数”字段感兴趣。 您可以通过定义type ='h'以类似直方图的方式绘制此信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.