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