r - 在频率表中包括零频率以获取李克特数据

标签 r frequency

我有一个9pt规模的Likert项目响应的数据集。我想创建数据的频率表(和条形图),但是刻度中的某些值从未出现在我的数据集中,因此table()从频率表中删除了该值。我希望它以0的频率显示值。也就是说,给定以下数据集

# Assume a 5pt Likert scale for ease of example
data <- c(1, 1, 2, 1, 4, 4, 5)

我想获得以下频率表,而不必手动插入名为3的值0的列。
1 2 3 4 5 
3 1 0 2 1

我是R的新手,所以也许我忽略了一些基本的知识,但是我没有遇到能够提供所需结果的函数或选项。

最佳答案

table产生一个列联表,而tabular产生一个包含零计数的频率表。

tabulate(data)
# [1] 3 1 0 2 1

另一种方法(如果您的整数从1开始-但在其他情况下很容易修改):
setNames(tabulate(data), 1:max(data))  # to make the output easier to read
# 1 2 3 4 5 
# 3 1 0 2 1 

关于r - 在频率表中包括零频率以获取李克特数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13705060/

相关文章:

r - 更少确定是否按部署运行

r - 这是将数据从 EUROSTAT 获取到 R 的解决方案吗?

r - 使用 R 的数据帧中字符串的频率及其 ID

linux - C 中的 cpu 频率缩放 linux API

java - 在 Java 中拆分多个分隔符

python - Pandas 'Freq' 标签中的有效值是什么?

r - 在 R 包 Quanteda 中使用半空间

r - 如何避免气泡图中重叠的气泡?

javascript - r 介绍 bsModal

c++ - 是否可以使用 CUDA 来有效计算排序数组内元素的频率?