在R中绘制频率表

时间:2020-09-14 22:00:11

标签: r graph

我有一张带有调查结果的表。我的意思是,我没有完整的调查数据,只有频率表和李克特量表计数。可以在R中绘制此表的图形吗?

该表如下所示: 问题1:(response是一个因素)

response count
1        5
2        6
3        2
4        2
5        1

在Excel中做起来很容易,但是我在R中做不到。我唯一能想到的就是根据计数重复表值,但是必须有一种更简单的方法...

3 个答案:

答案 0 :(得分:2)

尝试这种ggplot2方法。您可以将response设置为x变量,将count设置为y变量,并使用geom_col()来显示条形图。这里的代码:

library(ggplot2)
#Plot
ggplot(df,aes(x=factor(response),y=count))+
  geom_col(color='black',fill='cyan3')+
  xlab('Response')

输出:

enter image description here

使用了一些数据:

#Data
df <- structure(list(response = 1:5, count = c(5L, 6L, 2L, 2L, 1L)), class = "data.frame", row.names = c(NA, 
-5L))

答案 1 :(得分:2)

如果我们想这样做而不必安装任何软件包,请在单行中将base R方法与命名矢量一起使用

barplot(setNames(df$count, df$response))

或使用data.frame的公式方法

barplot(count ~ response, df)

-输出

enter image description here

数据

df <- structure(list(response = 1:5, count = c(5L, 6L, 2L, 2L, 1L)),
  class = "data.frame", row.names = c(NA, 
 -5L))

答案 2 :(得分:2)

来自plot的直方图

plot(df,type = "h")

enter image description here