如何将大于阈值的值转换为 R 中 data.table 对象列中的 1?

要将data.tableR 数据帧中对象中大于阈值的值转换为 1 ,我们可以按照以下步骤操作 -

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

  • 然后,使用 ifelse 函数将大于阈值的值转换为 1。

示例

创建data.table对象

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

library(data.table)
x<-runif(25,1,2)
DT<-data.table(x)
DT
输出结果

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

       x
1:  1.122051
2:  1.355193
3:  1.058128
4:  1.817999
5:  1.585387
6:  1.789302
7:  1.227816
8:  1.099774
9:  1.442783
10: 1.014045
11: 1.639609
12: 1.090935
13: 1.801839
14: 1.237378
15: 1.988733
16: 1.000113
17: 1.670561
18: 1.444453
19: 1.797164
20: 1.079578
21: 1.888196
22: 1.635946
23: 1.986531
24: 1.401219
25: 1.902608
      x

将大于阈值的值转换为 1

使用 ifelse 函数将大于阈值的值转换为data.table对象x 列中的 1 -

library(data.table)
x<-runif(25,1,2)
DT<-data.table(x)
DT$x<-ifelse(DT$x>1.5,1,DT$x)
DT
输出结果
       x
1:  1.122051
2:  1.355193
3:  1.058128
4:  1.000000
5:  1.000000
6:  1.000000
7:  1.227816
8:  1.099774
9:  1.442783
10: 1.014045
11: 1.000000
12: 1.090935
13: 1.000000
14: 1.237378
15: 1.000000
16: 1.000113
17: 1.000000
18: 1.444453
19: 1.000000
20: 1.079578
21: 1.000000
22: 1.000000
23: 1.000000
24: 1.401219
25: 1.000000
      x

猜你喜欢