R中多个变量的频率计数

dat*_*aaz 2 analysis r frequency dplyr

我的数据框中有多个变量。我想更多地从大型数据集的 QA 角度检查某些选定变量的单个频率计数。

ID Q1 Q2 Q3
1  1  2  3
2  2  1  2 
3  3  2  1
4  1  2  3
5  2  3  1
Run Code Online (Sandbox Code Playgroud)

所以,我应该得到 Q1 和 Q2 的频率计数,我选择的变量,作为下面的输出

Q1 1 - 2
   2 - 2
   3 - 1

Q2 1 - 1
   2 - 3
   3 - 1
Run Code Online (Sandbox Code Playgroud)

我试过 table(),但似乎我必须多次编写这个函数,这是我想避免的。

table(df$Q1)
table(df$Q2)
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以实现这一目标?

Ron*_*hah 5

你可以用applytable

apply(df[-1], 2, table)

#  Q1 Q2 Q3
#1  2  1  2
#2  2  3  1
#3  1  1  2
Run Code Online (Sandbox Code Playgroud)

或者,如果您只想将其用于要使用可以使用的名称指定的选定行,

apply(df[c("Q1", "Q2")], 2, table)


#  Q1 Q2
#1  2  1
#2  2  3
#3  1  1
Run Code Online (Sandbox Code Playgroud)