我有一个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/