【发布时间】:2023-04-07 00:30:01
【问题描述】:
我有一个包含两列 x$x0 和 x$x1 的数据集,以下是此数据集 x 中的值,由于许多重复值,数据集中有超过 1234876 个观察值。
x0 x1
----------------
0 1
0 2
1 0
1 3
2 1
2 3
. .
. .
. .
1234876 1230000
我想创建一个矩阵,使用 column1 中的唯一值 (x$x0) 和 column2 中的唯一值 (x$x1)。 x$x0 中的值是行名,x$x1 中的值是列名。
然后将值 1 分配给 x$x0 和 x$x1 之间存在关系的单元格,最终结果应如下所示.....
| 0 1 2 3 .......1230000
--------------------------------
0 | 1 1 |
1 | 1 1 |
2 | 1 1 |
3 | |
. | |
. | |
. | |
1234876 | |
--------------------------------
希望这是有道理的 :(,任何关于如何做到这一点的建议都会非常有帮助。
【问题讨论】:
-
发布可重现的代码示例(来自
dput(x)的输出),以便我们为您提供帮助。 -
@smci 我做了 dput(x) ....我得到了一百万行这样的东西 180485L, 180485L, 180485L, 180485L, 180485L, 180486L, 180486L, 180486L, 180486L, 18704L8486 ,180487L,180487L,180487L,180488L,180488L,180488L,180488L,180488L,180488L,1804881,180489L,180489L,180489L,180489L,180489L,180489L,180489L,180489L,180489L,180489L,180489L,180489L,180489L,180489L,180490L,180490L,180490L, SPAN>
-
@TyroneWilliams 您可以通过
dput(x[1:20, ])获取数据的前 20 行,这应该足够了。 -
@n8sty dput(x[1:20, ]) 结构(列表(X0 = c(0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L), X1 = c(2L, 3L, 4L, 5L, 0L, 2L, 4L, 5L, 15L, 0L, 11L, 12L, 13L, 14L , 63L, 64L, 65L, 66L, 67L, 7L)), .Names = c("X0", "X1"), row.names = c(NA, 20L), class= "data.frame") >
-
@TyroneWilliams 两个向量之间的关系是什么意思?
标签: r