我有以下数据:
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
这个转变是什么,我应该寻找什么样的包?
答案 0 :(得分:2)
您可以使用基础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
:
table(df)
# B
#A 101 102 104
# 1 1 1 0
# 3 0 0 1
# 4 0 0 1