R 数据中的直方图错误

R 数据中的直方图错误,r,histogram,R,Histogram,我有一个数据框new1,包含20列变量,其中一列是new1$year。这包括25年,计算如下: > table(new1$year) 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2770 3171 3392 2955 2906 2801 2930 2985 3181 3059 2

我有一个数据框new1,包含20列变量,其中一列是new1$year。这包括25年,计算如下:

 > table(new1$year)
 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 
 2770 3171 3392 2955 2906 2801 2930 2985 3181 3059 2977 2884 3039 2428 2653 2522 2558 2370 2666 3046 3155 3047 2941 2591 1580 
我试着准备一个柱状图

 hist(new1$year, breaks=25)
但我得到了一个柱状图,其中列的高度实际上与表中的数字不同(new1$year)。例如,histo中的第一列>4000,而根据我的评论,它应该,请尝试:

barplot(table(new1$year))
原因
hist
breaks
参数的说明不完全一样。见:

其中一项:

给出直方图单元格之间断点的向量

计算断点向量的函数

一个数字表示直方图的单元格数

一个字符串,用于命名计算单元格数的算法(请参阅“详细信息”)

计算单元数的函数

在最后三种情况下,该数字只是一个建议

根据我的评论,请尝试:

barplot(table(new1$year))
原因
hist
breaks
参数的说明不完全一样。见:

其中一项:

给出直方图单元格之间断点的向量

计算断点向量的函数

一个数字表示直方图的单元格数

一个字符串,用于命名计算单元格数的算法(请参阅“详细信息”)

计算单元数的函数

在最后三种情况下,该数字只是一个建议


也许您需要一个
条形图
…谢谢。条形图会产生一条没有用处的黑色长条(或矩形,如果您愿意)。您必须执行
Barplot(table(new1$year))
…粉碎!非常感谢!但仍然想知道为什么hist()不起作用!也许您需要一个
条形图
…谢谢。条形图会产生一条没有用处的黑色长条(或矩形,如果您愿意)。您必须执行
Barplot(table(new1$year))
…粉碎!非常感谢!但仍然想知道为什么hist()不起作用!因此,我们尝试了不同的中断值(20,24,26,长度(级别(因子(new1$year)),…),但返回的图形是相同的。抱歉,如果我之前不清楚,条形图(表格(new1$year))工作得很好。刚试过在hist()中指定断点(数据集中有25年,所以我加了25年),但是hist的列的高度错误(第一个列的高度是其他列的两倍)。@MarcoD Yea,根据文档,指定一个特定的数字并不能保证您的数据类型有适当的中断,因为这只是一个建议。谢谢。这一点非常清楚,也有点令人担忧(因此,也许barplot(table())是一种更好的方法!将来一定会记住这一点!非常感谢!Cheers@MarcoD很好。很高兴这很有帮助。请注意:我发现您还没有接受有关堆栈溢出的任何问题的答案。接受答案是一种很好的做法(即使它们是您自己的),以便其他人看到您的问题已解决。您可以通过选择答案左侧的复选标记来接受答案。因此,您尝试了不同的中断值(20,24,26,长度(级别(因子(新1$year)),…),但返回的图形是相同的。抱歉,如果我之前不清楚,条形图(表(new1$year))工作得很好。刚刚尝试在hist()中指定断点(数据集中有25年,所以我加了25年),但是hist的列高度不正确(第一个列的高度是其他列的两倍)@MarcoD Yea,根据文档,指定一个特定的数字不能保证您的数据类型有适当的中断,因为这只是一个建议。谢谢您,Thomas。这非常清楚,也有点令人担忧(所以可能是barplot(table())这是一个更好的方法!以后一定会记住!非常感谢!Cheers@MarcoD很好。很高兴这很有帮助。只需注意:我发现您还没有接受有关堆栈溢出的任何问题的答案。接受答案(即使是您自己的答案)是一种很好的做法,以便其他人看到您的问题已解决。您可以通过选中答案左侧的复选标记来接受答案。