如何在 R 的 data.table 物件中按行和對行值進行劃分?
如需在 R 的 data.table 物件中按行和對行值進行劃分,我們可以按照以下步驟進行操作:-
- 首先,建立一個 data.table 物件。
- 然後,使用 apply 函式按行和對 data.table 物件行值進行劃分。
建立 data.table 物件
讓我們建立一個 data.table 物件,如下所示:-
library(data.table) x<-rpois(25,2) y<-rpois(25,2) DT<-data.table(x,y) DT
在執行上述指令碼時,生成以下輸出(此輸出因系統中的隨機性而異):-
x y 1: 4 3 2: 0 3 3: 1 2 4: 2 2 5: 2 0 6: 2 3 7: 0 3 8: 1 2 9: 3 0 10: 1 2 11: 1 4 12: 1 4 13: 4 1 14: 2 6 15: 1 2 16: 1 3 17: 2 2 18: 0 1 19: 0 4 20: 1 2 21: 1 1 22: 5 0 23: 4 2 24: 2 2 25: 2 2 x y
按行和對 data.table 物件行值進行劃分
使用 apply 函式按行和對 DT 行值進行劃分:-
library(data.table) x<-rpois(25,2) y<-rpois(25,2) DT<-data.table(x,y) DT_new<-t(apply(DT,1, function(x) x/sum(x))) DT_new
輸出
x y [1,] 0.5714286 0.4285714 [2,] 0.0000000 1.0000000 [3,] 0.3333333 0.6666667 [4,] 0.5000000 0.5000000 [5,] 1.0000000 0.0000000 [6,] 0.4000000 0.6000000 [7,] 0.0000000 1.0000000 [8,] 0.3333333 0.6666667 [9,] 1.0000000 0.0000000 [10,] 0.3333333 0.6666667 [11,] 0.2000000 0.8000000 [12,] 0.2000000 0.8000000 [13,] 0.8000000 0.2000000 [14,] 0.2500000 0.7500000 [15,] 0.3333333 0.6666667 [16,] 0.2500000 0.7500000 [17,] 0.5000000 0.5000000 [18,] 0.0000000 1.0000000 [19,] 0.0000000 1.0000000 [20,] 0.3333333 0.6666667 [21,] 0.5000000 0.5000000 [22,] 1.0000000 0.0000000 [23,] 0.6666667 0.3333333 [24,] 0.5000000 0.5000000 [25,] 0.5000000 0.5000000
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP