如何在R的data.table物件中查詢具有相同名稱的列的行方差?
為了在R的data.table物件中查詢具有相同名稱的列的行方差,我們可以按照以下步驟操作:
首先,建立一個包含一些具有相同名稱的列的data.table物件。
然後,使用tapply結合colnames和var函式來查詢具有相同名稱的列的行方差。
示例
建立data.table物件
讓我們建立一個如下所示的data.table物件:
library(data.table) DT<- data.table(x=rpois(25,5),y=rpois(25,5),x=rpois(25,2),y=rpois(25,1),check.names=FALSE) DT
輸出
執行上述指令碼後,會生成以下輸出(由於隨機化,此輸出在您的系統上可能會有所不同):
x y x y
1: 2 11 1 1
2: 4 5 2 1
3: 5 4 2 1
4: 5 5 0 0
5: 5 1 0 1
6: 8 6 3 2
7: 4 4 4 1
8: 4 12 4 2
9: 4 4 2 0
10: 8 6 1 3
11: 9 10 1 0
12: 5 3 1 0
13: 7 4 0 0
14: 6 4 4 0
15: 8 7 4 1
16: 10 3 1 0
17: 3 10 3 1
18: 3 4 3 2
19: 8 3 2 3
20: 4 4 0 1
21: 5 2 2 3
22: 10 5 2 2
23: 7 8 2 0
24: 7 7 3 0
25: 7 7 2 0
x y x y查詢具有相同名稱的列的行方差
使用tapply結合colnames和var函式來查詢data.table物件DT中具有相同名稱的列的行標準差:
library(data.table) DT<- data.table(x=rpois(25,5),y=rpois(25,5),x=rpois(25,2),y=rpois(25,1),check.names=FALSE) t(apply(DT,1, function(x) tapply(x,colnames(DT),var)))
輸出
x y [1,] 0.5 50.0 [2,] 2.0 8.0 [3,] 4.5 4.5 [4,] 12.5 12.5 [5,] 12.5 0.0 [6,] 12.5 8.0 [7,] 0.0 4.5 [8,] 0.0 50.0 [9,] 2.0 8.0 [10,] 24.5 4.5 [11,] 32.0 50.0 [12,] 8.0 4.5 [13,] 24.5 8.0 [14,] 2.0 8.0 [15,] 8.0 18.0 [16,] 40.5 4.5 [17,] 0.0 40.5 [18,] 0.0 2.0 [19,] 18.0 0.0 [20,] 8.0 4.5 [21,] 4.5 0.5 [22,] 32.0 4.5 [23,] 12.5 32.0 [24,] 8.0 24.5 [25,] 12.5 24.5
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP