r - 列表成矩阵

标签 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”从上面提到的列表中获取矩阵?

最佳答案

这是一个双向列联表。

您首先需要将您的数据作为数据框从 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

关于r - 列表成矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41311704/

相关文章:

r - 如何在R中读取utf-8格式的数据?

excel - VBA - 检测是否安装了应用程序以使用它

java - 了解 ZipSecureFile.setMinInflateRatio(双比率)

excel - 将值连接在一起的公式

c++ - OpenGL - GLM 和 GLSL,它们有何不同?

generics - Scala 隐式 ClassManifest[T] 在 Array.fill(..) 中为 null

r - 在 R 中,如何删除值全为 FALSE 的列?

r - 一个可以将DNA序列翻译成二进制代码的函数

r - 如何在使用cbind循环R中创建一个空矩阵

python - 没有 Numpy 的矩阵求逆