【问题标题】:Contingency Matrix in RR中的列联矩阵
【发布时间】:2018-10-28 23:38:42
【问题描述】:

我正在尝试为调用者和被调用者之间的实例构建一个应急矩阵。我只是遇到问题,因为我的变量 caller_id 包含长度为 5 个数字的值;但是,我需要根据它们是否以 1、2 或 3 开头来分隔这些值。例如,我的数据属于以下模式:

CALLER         CALLEE
12345            1
23456            1
35643            2

其中Caller的前缀和Callee的值可以是1、2或3,代表1代表白人,2代表黑人,3代表未知。然后我需要创建一个应急矩阵,例如:

              White Caller     Black Caller
White Callee    # of calls    # of calls
Black Callee    # of calls    # of calls
Unknown Callee  # of calls    # of calls

如果有人对我如何分离值和创建矩阵有任何建议,我将不胜感激。提前谢谢你。

【问题讨论】:

    标签: r matrix contingency


    【解决方案1】:

    你可以使用基础 R

    with(df, table(CALLER = substr(CALLER, 0, 1), CALLEE))
    #       CALLEE
    # CALLER 1 2
    #      1 1 0
    #      2 1 0
    #      3 0 1
    

    其中substr(df$CALLER, 0, 1)df$CALLER 中提取第一个数字(参见?substr),然后table 给出列联表。

    【讨论】:

    • 谢谢!无论如何要为上述所有值添加标签吗?
    • 当然,有多种方法可以做到这一点。如果您只有这三个可能的选项,那么只需 colnames(tb) <- c("White Caller", "Black Caller") 并与 rownames(tb) 类似地工作,tb <- with(df, table(CALLER = substr(CALLER, 0, 1), CALLEE))
    猜你喜欢
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    相关资源
    最近更新 更多