如何在 R 中的 data.table 对象中将交替行中的值转换为负数?

要将交替行中的值转换为data.tableR中对象中的负值,我们可以按照以下步骤操作 -

  • 首先,创建一个data.table对象。

  • 然后,使用 1 和负 1 的向量乘法将交替行中的值转换为负数。

示例

创建data.table对象

让我们创建一个data.table对象,如下所示 -

library(data.table)
x<-sample(1:5,30,replace=TRUE)
DT<-data.table(x)
DT
输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

    x
1:  2
2:  1
3:  3
4:  2
5:  3
6:  3
7:  1
8:  4
9:  3
10: 5
11: 1
12: 5
13: 5
14: 4
15: 2
16: 5
17: 4
18: 5
19: 1
20: 4
21: 3
22: 3
23: 3
24: 1
25: 1
26: 4
27: 3
28: 3
29: 1
30: 3
    x

将交替行中的值转换为负数

使用 1 和负 1 的向量乘法将data.table对象 DT 的x 列的交替行中的值转换为负 -

library(data.table)
x<-sample(1:5,30,replace=TRUE)
DT<-data.table(x)
DT$x<-DT$x*c(1,-1)
DT
输出结果
     x
1:   2
2:  -1
3:   3
4:  -2
5:   3
6:  -3
7:   1
8:  -4
9:   3
10: -5
11:  1
12: -5
13:  5
14: -4
15:  2
16: -5
17:  4
18: -5
19:  1
20: -4
21:  3
22: -3
23:  3
24: -1
25:  1
26: -4
27:  3
28: -3
29:  1
30: -3
     x