【问题标题】:Merging two variables to create frequency table合并两个变量以创建频率表
【发布时间】:2010-10-14 03:36:52
【问题描述】:

我还有一个新手问题;

假设我有一组数字

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 添加标签。

我一天中的大部分时间都在做这件事,之后我的其余自动化工作就顺利进行了。我以为我在制表方面走在了正确的轨道上,但没能完全做到。

【问题讨论】:

    标签: r graphing


    【解决方案1】:

    首先,您需要考虑数据。完全按照您对分类变量的看法来考虑一个因素。级别告诉它会发生什么,标签给它起了一个漂亮的名字。

    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)
    

    【讨论】:

    • 再次为你的帮助干杯,我真的不知道如果不是像你这样的人的帮助,我怎么能在这个项目上走到这一步:P
    【解决方案2】:

    “R 简介”中的以下内容直接回答了您的问题:

    http://cran.r-project.org/doc/manuals/R-intro.html#Frequency-tables-from-factors

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 2016-11-13
    • 2012-08-25
    相关资源
    最近更新 更多