R 将两列数据帧转换为数字矩阵

R 将两列数据帧转换为数字矩阵,r,matrix,transformation,R,Matrix,Transformation,我有以下数据: A B 1 101 1 102 3 104 4 104 并希望将其转化为: 101 102 104 1 1 1 0 3 0 0 1 4 0 0 1 此转换的名称是什么?我应该寻找什么样的包?您可以使用base R中的xtabs来执行此操作: df <- read.table(text="A B + 1 101 + 1 102

我有以下数据:

A    B
1    101
1    102
3    104
4    104
并希望将其转化为:

     101   102   104
1      1     1     0
3      0     0     1
4      0     0     1

此转换的名称是什么?我应该寻找什么样的包?

您可以使用base R中的
xtabs
来执行此操作:

df <-  read.table(text="A    B
+ 1    101
+ 1    102
+ 3    104
+ 4    104", header=T)

xtabs(~ A + B, df)

#   B
#A   101 102 104
#  1   1   1   0
#  3   0   0   1
#  4   0   0   1
table(df)

#   B
#A   101 102 104
#  1   1   1   0
#  3   0   0   1
#  4   0   0   1