R中的应急矩阵
Contingency Matrix in R
我正在尝试为调用者和被调用者之间的实例构建一个列联矩阵。我遇到问题是因为我的变量 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,您可以使用
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
给出偶然性 table.
我正在尝试为调用者和被调用者之间的实例构建一个列联矩阵。我遇到问题是因为我的变量 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,您可以使用
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
给出偶然性 table.