列入矩阵

时间:2016-12-24 08:38:55

标签: r excel matrix

我在excel表中有一些数据如下所示:

User    | Query
u1      | q3   
u2      | q7    
u2      | q7
u3      | q1
u3      | q10
u3      | q8
u4      | q9
u4      | q2

现在我想将这些数据覆盖到矩阵中:

   q1 q2 q3 q7 q8 q9 q10
u1 0  0  1  0  0  0   0
u2 0  0  0  2  0  0   0
u3 1  0  0  0  1  0   1
u4 0  1  0  0  0  1   0

我不知道这种矩阵的名称是什么,但我想从这个矩阵中制作图表。那么有没有办法从上面提到的列表中使用任何一个" R"或者" excel?

1 个答案:

答案 0 :(得分:0)

这是一个双向列联表。

您首先需要将数据从Excel工作表中读取为R作为数据框。您可以使用read.csvread.table,但由于您没有提供工作表的样本,因此我无法为此生成确切的代码。

现在,假设数据框为d,那么我们可以

xtabs(~ User + Query, d)

#     Query
#User   q1  q10  q2  q3  q7  q8  q9
#  u1    0    0   0   1   0   0   0
#  u2    0    0   0   0   2   0   0
#  u3    1    1   0   0   0   1   0
#  u4    0    0   1   0   0   0   1

table(d[[1]], d[[2]])

#       q1  q10  q2  q3  q7  q8  q9
#  u1    0    0   0   1   0   0   0
#  u2    0    0   0   0   2   0   0
#  u3    1    1   0   0   0   1   0
#  u4    0    0   1   0   0   0   1