【发布时间】:2020-10-15 16:53:19
【问题描述】:
我有一个问题,我尝试创建一个包含特定“坐标”出现次数的矩阵。我在 R 工作。
为了说明,这是我的(部分)数据:
pre = c(3,1,3,2,2,4,3,5,3,4,6,5,6,5,4,5,6,6,5,6,5,7,6,7,7,7,4,8,4,8,8,4,4,8,3,9,8,6,9,8)
post = c(4,3,5,3,4,6,5,6,5,4,5,6,6,5,6,5,7,6,7,7,7,4,8,4,8,8,4,4,8,3,9,8,6,9,8,8,9,7,9,9)
df = data.frame(pre,post)
然后我用可能的坐标维度定义这个输出矩阵(所有数据的范围是 1-20):
matrix = matrix(NA, nrow=20, ncol=20)
colnames(matrix) = seq(1,20,1)
rownames(matrix) = seq(1,20,1)
然后我需要一个循环来遍历我的数据并存储数据中存在多少特定的前后组合:
for (i in 1:40){matrix[df$post[i], df$pre[i]] = 1}
这就像输出现在显示数据中出现了哪些“坐标”一样,但它没有说明出现了多少次。 例如,我知道 pre=4, post=4 发生了两次。 因此循环需要记住已经发生的组合并需要再添加一个1,但我不知道如何编程。
希望有人能帮忙 安妮
【问题讨论】: