我正在寻找有关从我的数据框中为列中的范围表示频率计数的最佳方法的建议。关于绘制频率数据的最佳方法的建议
实施例:
my_table<- data.frame('xcat' = c(1,1,1,2,2,2,5,10,10,10,11,11,11,14,14,14,
15,15,15, 17,17,17, 18,18,18,20,20,20))
在上述数据帧,我想从1频率绘制到20 一种方式做到这一点将使用HIST(),块大小设定为1,即:你可以看到,我已经添加了一个0.5的偏移量,所以每个bin都会显示在对应的整数上。 另一种方式来做到这一点是创建一个表的计数,然后生成间隔:
my_tablecut = cut(my_table$xcat, breaks= seq(from =0.5, to =20.5,
by = 1), right=FALSE)
my_tablefreq = as.data.frame(table(my_tablecut))
my_tablefreq$pos<- 1:nrow(my_tablefreq)
plot(my_tablefreq$pos, my_tablefreq$Freq, type = 'l')
当我写,我意识到这可能是更正确的使用条形图,而不是直方图;在这种情况下,我仍然需要生成频率为0的类别,可能仍然使用“剪切”功能,然后使用“barplot”而不是“plot”。
我想知道是否有任何这种方法的缺点,或者什么是更正确的方式来显示我想要的。如果我的目的不明确,请告诉我,或者我需要添加更多详细信息。