r - R:创建李克特比例条形图
问题描述
我是 R 新手,感觉有点失落……我正在研究一个包含 7 个点likert-scale 答案的数据集。
例如,我的数据如下所示:
我的目标是创建一个条形图,在 x-lab 上显示李克特量表,在 y-lab 上显示频率。
到目前为止我所理解的是,我首先必须将我的数据转换为频率表。为此,我使用了在本网站另一篇文章中找到的代码:
data <- factor(data, levels = c(1:7))
table(data)
但是我总是得到这个输出:
data
1 2 3 4 5 6 7
0 0 0 0 0 0 0
任何想法出了什么问题或其他想法如何实现我的计划?
非常感谢!洛雷娜
解决方案
洛雷娜!
首先,在您显示的数据集中,无需应用 factor() 和 table()。从我收集的信息来看,它看起来不错。
R 带有一些有趣的绘图选项,hist()就是其中之一。
hist() 的直方图
在以下示例中,我将使用数据集中命名的“Valenz”变量。
要获得频率而不需要美化它,您可以简单地询问:
hist(dataset, Valenz)
第一个参数(数据集)告知这些值的位置;第二个参数 (Valenz) 告知您要使用数据集中的哪些值。
如果您只想知道频率,而不必以某种优雅的方式通知它,那应该这样做(:
带有 ggplot() 的直方图
如果你想让它更漂亮,你可以使用 ggplot2 包来设计你的绘图,这是 R 中最常用的包之一。
首先,安装然后加载包。
install.packages("ggplot2")
library(ggplot2)
然后,创建一个直方图,其中x作为某个分数出现的次数。
ggplot(dataset, aes(x = Valenz)) +
geom_histogram(bins = 7, color = "Black", fill = "White") +
labs(title = NULL, x = "Name of my variable", y = "Count of 'Variable'") +
theme_minimal()
- ggplot() 获取数据框的值,然后 aes() 指定您希望Valenz位于 x 轴上。
- geom_histogram() 为您提供带有“bins = 7”(7 个选项,因为它是李克特量表)的直方图,以及带有“color = 'Black'”和“fill = 'White'”的条形图。
- labs() 指定出现在 x ("x = "我的变量的名称") 和 y (y = "Count of 'Variable'") 下方的标签。
- theme_minimal() 使情节看起来更酷。
我希望我能以某种方式帮助你,Lorena。(:
推荐阅读
- javascript - 如何在javascript中创建一个无限循环
- emacs - 我应该在 Org 文档中硬换行吗?
- php - 图片未在 laravel 媒体库中上传
- javascript - 如何使头像以大格式显示?
- html - 实现css悬停并专注于图标的正确方法
- java - 将数据从 Map 映射到 DTO/VO 对象的有效方式
- twilio - 使用带有 JSON 的 Twilio 验证服务 API
- verilog - 为什么我不能在 Verilog 的“总是”块中将寄存器的内容复制到另一个?
- sql - 如何在SQL中比较不同表中列中的两个字符串
- php - Laravel 查询字符串到路由中的 api 调用