【发布时间】:2023-03-09 15:57:01
【问题描述】:
我有一个大数据表,我需要根据列号和取决于行号的索引将单元格设置为固定值(例如 0)。
作为一个例子,我得到了一个数据表“dt”,里面全是 1。此外,我有一个列向量,给出保持不变的列数(每行),其余列数应设置为 0。
dt <- setnames(data.table(matrix(1,nrow=100, ncol=11)),as.character(c(0:10)))
set.seed(1)
index <- sample(c(0:11),100, replace=TRUE)
> dput(index)
c(3L, 4L, 6L, 10L, 2L, 10L, 11L, 7L, 7L, 0L, 2L, 2L, 8L, 4L,
9L, 5L, 8L, 11L, 4L, 9L, 11L, 2L, 7L, 1L, 3L, 4L, 0L, 4L, 10L,
4L, 5L, 7L, 5L, 2L, 9L, 8L, 9L, 1L, 8L, 4L, 9L, 7L, 9L, 6L, 6L,
9L, 0L, 5L, 8L, 8L, 5L, 10L, 5L, 2L, 0L, 1L, 3L, 6L, 7L, 4L,
10L, 3L, 5L, 3L, 7L, 3L, 5L, 9L, 1L, 10L, 4L, 10L, 4L, 4L, 5L,
10L, 10L, 4L, 9L, 11L, 5L, 8L, 4L, 3L, 9L, 2L, 8L, 1L, 2L, 1L,
2L, 0L, 7L, 10L, 9L, 9L, 5L, 4L, 9L, 7L)
例如在第一行中,前三个单元格保持不变,其他单元格设置为 0。 由于它是一个大型数据表,我正在寻找一种有效的方法来做到这一点
【问题讨论】:
-
set.seed()在创建随机数据以实现可重复性之前 -
感谢您的评论。我确实做到了,但忘了在这里复制它;)
标签: r data.table