Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否帮助使用直方图用R绘制间隔数据?_R_Histogram_Intervals - Fatal编程技术网

是否帮助使用直方图用R绘制间隔数据?

是否帮助使用直方图用R绘制间隔数据?,r,histogram,intervals,R,Histogram,Intervals,我从一份调查问卷中得到了一些数据:你每周花多少小时在x上? 1-3,4-6,7-10,11-14,>14 我将这些数据作为数据帧的一列输入R surv$Q2 #[1] 4 : 11 -14 hours 3 : 7-10 hours 3 : 7-10 hours 4 : 11 -14 hours 3 : 7-10 hours 4 : 11 -14 hours #[7] 3 : 7-10 hours 3 : 7-10 hours 3 : 7-10 hours

我从一份调查问卷中得到了一些数据:你每周花多少小时在x上? 1-3,4-6,7-10,11-14,>14

我将这些数据作为数据帧的一列输入R

surv$Q2
#[1] 4 : 11 -14 hours  3 : 7-10 hours    3 : 7-10 hours    4 : 11 -14 hours  3 : 7-10 hours    4 : 11 -14 hours 
#[7] 3 : 7-10 hours    3 : 7-10 hours    3 : 7-10 hours    1 : 1-3 hours     3 : 7-10 hours    2 : 4-6 hours  

如何获得该数据的直方图,以及是否有一个函数允许我轻松计算平均值?

假设这些是您的数据,您可以使用条形图显示频率


另请参阅函数hist的文档。

您的第一个问题是间隔有间隙。如果有人花了3.5个小时在x上,他们属于哪一类?有了间隙,你就无法真正绘制柱状图了。谢谢@javlacalle,我可以通过将数据帧的列传递给条形图来生成一个漂亮的条形图。然而,条形图不是直方图。这些条不会连接在一起,因为它们应该在柱状图中,但它们之间有间隙。条形图的一个更大的问题是,条形图的宽度都相同,而在本例中,我有可变宽度的箱子,即前两个间隔是两个,而后两个间隔是三个。我用各种方法尝试了hist,但不知道如何以正确的格式获取数据作为该函数的输入。您可以将每个间隔的中点作为每个函数的值。那么您的数据是:x感谢@javlacalle的回复。这太棒了。感谢您非常详细的回答,感谢您使用我提供的数据,因为这现在非常有意义。在如何将数据转换为不同格式方面,我学到了很多,但您使用中点的想法也让我认为直方图可能根本不需要,而绘图可能是一个更好的主意。@user49242是的,最好在条形图中显示频率,很高兴看到它很有用。如果您认为答案解决了您的问题,请将其标记为已接受,谢谢。
x <- c(1, 2, 21, 12, 0)
names(x) <- c("1-3", "4-6", "7-10", "11-14", ">14")
x
#  1-3   4-6  7-10 11-14   >14 
#    1     2    21    12     0 
barplot(x)