合并两个变量以创建频率表

时间:2010-10-14 03:36:52

标签: r graphing

我有另一个新手问题;

假设我有一组数字

graph_val <- c(4,2,3,4,1,1,9)

我需要根据这个比例创建它们的频率表

           1            2            3            4            5            9 
 "Very Poor"       "Poor"    "Average"       "Good"  "Very Good" "Don't Know" 

基本上我想知道的是如何获得这种格式的表格:

 "Very Poor"       "Poor"    "Average"       "Good"  "Very Good" "Don't Know"
           2            1            1            1            0            1 

或至少:

           1            2            3            4            5            9
           2            1            1            1            0            1 

我可以稍后使用带有barplot 2的names.arg添加标签。

在这一天的大部分时间里,我一直在这方面,在此之后我的其余自动化工作明确航行。我以为我是在制表的正确轨道上,但却无法到达那里。

2 个答案:

答案 0 :(得分:2)

首先,您需要考虑数据。考虑一个与您想到分类变量的方式完全相同的因素。级别告诉它期待什么,标签给它一个漂亮的名字。

graph_val <- factor(graph_val, levels=c(1,2,3,4,5,9), labels=strsplit('
Very Poor
Poor
Average
Good
Very Good
Don\'t Know
', '\n')[[1]][-1]) 
## Take note of the escape character in Don\'t Know

summary(graph_val)

如果你需要百分比,你可以这样做:

summary(graph_val)/length(graph_val)\

或者这个:

round(summary(graph_val)/length(graph_val),2)

答案 1 :(得分:1)