如何在R中將data.table物件的列值更改為最大值?
有時我們需要比較最大值或將資料框或data.table物件的某些列設定為其最大值,尤其是在可能需要消除偏差的研究中。因此,我們可以將所有列值設定為最大值。對於data.table物件,我們可以使用單個方括號來訪問並將列值賦值為其最大值,如下例所示。
示例
載入data.table包並建立一個data.table物件:
> library(data.table) > x1<-rpois(20,5) > x2<-rpois(20,5) > DT1<-data.table(x1,x2) > DT1
輸出
x1 x2 1: 3 4 2: 3 5 3: 5 6 4: 10 5 5: 8 2 6: 3 4 7: 6 6 8: 2 8 9: 5 5 10: 1 3 11: 4 4 12: 4 3 13: 3 4 14: 9 5 15: 6 4 16: 4 10 17: 2 5 18: 6 2 19: 6 6 20: 3 7
將DT1的兩列中的所有值設定為最大值:
示例
> DT1[,":="(x1=max(x1),x2=max(x2))] > DT1
輸出
x1 x2 1: 10 10 2: 10 10 3: 10 10 4: 10 10 5: 10 10 6: 10 10 7: 10 10 8: 10 10 9: 10 10 10: 10 10 11: 10 10 12: 10 10 13: 10 10 14: 10 10 15: 10 10 16: 10 10 17: 10 10 18: 10 10 19: 10 10 20: 10 10
示例
> y1<-rnorm(20) > y2<-rnorm(20) > DT2<-data.table(y1,y2) > DT2
輸出
y1 y2 1: 0.023625687 1.4483042 2: 1.106287710 1.0704318 3: 1.467489995 -0.1895449 4: 0.547832725 -0.5910900 5: -0.733764184 0.1977163 6: 2.021397912 0.4160044 7: -0.001008175 -0.6264825 8: 0.237018174 -0.4992914 9: -0.842971527 -0.7227745 10: -1.444723647 -0.1965069 11: -2.415372720 0.2633523 12: 1.317615263 0.5652904 13: -0.858622646 1.1681279 14: -0.585999557 -0.5307442 15: 0.330628856 -0.7169733 16: 0.177377373 0.1853514 17: -0.061377177 -0.3185333 18: -0.180351581 -1.2435872 19: -1.040703567 1.6828731 20: 1.367891650 -0.3071294
將DT2的兩列中的所有值設定為最大值:
示例
> DT2[,":="(y1=max(y1),y2=max(y2))] > DT2
輸出
y1 y2 1: 2.021398 1.682873 2: 2.021398 1.682873 3: 2.021398 1.682873 4: 2.021398 1.682873 5: 2.021398 1.682873 6: 2.021398 1.682873 7: 2.021398 1.682873 8: 2.021398 1.682873 9: 2.021398 1.682873 10: 2.021398 1.682873 11: 2.021398 1.682873 12: 2.021398 1.682873 13: 2.021398 1.682873 14: 2.021398 1.682873 15: 2.021398 1.682873 16: 2.021398 1.682873 17: 2.021398 1.682873 18: 2.021398 1.682873 19: 2.021398 1.682873 20: 2.021398 1.682873
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP