如何在嵌套循环中对 data.table 中的空单元格进行赋值?
How to make assignments to empty cells in data.table in nested loop?
我正在尝试对嵌套循环中 data.table 中的空单元格进行赋值。
我创建了一个尺寸为 15x15 的 data.table。除了列名外,它是空的。我想遍历 table 中的每个单元格,对单独的数据集执行和操作,并将该操作的输出分配给空单元格。但是,到目前为止,我什至无法循环遍历 data.table 并进行赋值。
到目前为止我已经试过了
For (I in 1:15)
For (j in 1:15) {
[ dataframe[ I, j :=. 100 ]
但是当它运行时它只会在最后填充一个列。
我也试过
[ dataframe[i, ..j := 100]
And [ dataframe[i, ... M = false := 100] or whatever it is
似乎没有任何效果
我知道问题出在 data.table 赋值语句上,我只是不知道如何解决它。
基本上我正在尝试填充多元相关图。
以下可能的解决方案。
请注意,在尝试对 dt[i,j]
进行赋值之前,需要使用预期的行/列初始化 data.table
library(data.table)
n <- 5
dt <- data.table(matrix(0,n,n))
for (i in 1:n) {
for (j in 1:n) {dt[i, (j):=i*j]}
}
dt[]
#> V1 V2 V3 V4 V5
#> 1: 1 2 3 4 5
#> 2: 2 4 6 8 10
#> 3: 3 6 9 12 15
#> 4: 4 8 12 16 20
#> 5: 5 10 15 20 25
我正在尝试对嵌套循环中 data.table 中的空单元格进行赋值。
我创建了一个尺寸为 15x15 的 data.table。除了列名外,它是空的。我想遍历 table 中的每个单元格,对单独的数据集执行和操作,并将该操作的输出分配给空单元格。但是,到目前为止,我什至无法循环遍历 data.table 并进行赋值。
到目前为止我已经试过了
For (I in 1:15)
For (j in 1:15) {
[ dataframe[ I, j :=. 100 ]
但是当它运行时它只会在最后填充一个列。
我也试过
[ dataframe[i, ..j := 100]
And [ dataframe[i, ... M = false := 100] or whatever it is
似乎没有任何效果
我知道问题出在 data.table 赋值语句上,我只是不知道如何解决它。
基本上我正在尝试填充多元相关图。
以下可能的解决方案。
请注意,在尝试对 dt[i,j]
data.table
library(data.table)
n <- 5
dt <- data.table(matrix(0,n,n))
for (i in 1:n) {
for (j in 1:n) {dt[i, (j):=i*j]}
}
dt[]
#> V1 V2 V3 V4 V5
#> 1: 1 2 3 4 5
#> 2: 2 4 6 8 10
#> 3: 3 6 9 12 15
#> 4: 4 8 12 16 20
#> 5: 5 10 15 20 25