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