我有每行中元素数量不等的表,每个元素的计数为 1 或 2 附加到字符串。我想创建一个每个字符串存在/不存在的矩阵,但包括计数 (1,2) 并在找不到字符串时放置零。
由此:
V1 V2 V3 V4 V5
1 A cat:2 dog:1 mouse:1 horse:2
2 B dog:2 mouse:2 dolphin:2
3 C horse:2
4 D cat:1 mouse:2 dolphin:2
对此:
cat dog mouse horse dolphin
A 2 1 1 2 0
B 0 2 2 0 2
C 0 0 0 2 0
D 1 0 2 0 2
我已经查找了类似问题的先前解决方案: 将数据帧转换为存在缺席矩阵
把他们创建一个 0/1 的缺席矩阵,不包括计数。
样本数据:
structure(list(V1 = c("A", "B", "C", "D"),
V2 = c("cat:2", "dog:2", "horse:2", "cat:1"),
V3 = c("dog:1", "mouse:2", "", "mouse:2"),
V4 = c("mouse:1", "dolphin:2", "", "dolphin:2"),
V5 = c("horse:2", "", "", "")),
.Names = c("V1", "V2", "V3", "V4", "V5"),
class = "data.frame", row.names = c(NA, -4L))