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