R軟體的資料排列

R 是以行來排列資料的語言,舉例來說:先建一 3X4 的二維矩陣。

> x <- matrix(1:12,3,4); x

矩陣中的資料預設就是依序以行來排列完成。今欲計算每列四筆資料的平均數與中位數,運用 apply 函數如下:

> myMeanNMedian <- function(x) (mean(x), median(x))

> y <- apply(x, 1, myMeanNMedian);y

 

讀者可看到各列的平均數與中位數也是以縱行的方式依序排列。apply 函數也可以計算每行三筆資料的平均數與中位數:

> z <- apply(x, 2, myMeanNMedian); z

 

此處各行的平均數與中位數還是以縱行的方式依序排列。瞭解其排列方式後我們可以將其各列與各行命名:

> dimnames(y)1 <- c('Mean', 'Median')

> dimnames(y)2 <- c(paste('Row', 1:3, sep=' '))

> dimnames(z)2 <- c(paste('Column', 1:4, sep=' '))

 

也可以將 y 轉置一下

> t(y)

y 與 t(y)哪一種呈現方式較符合您的直覺呢?

 

資料來源:Spector, P. (2008), Data Manipulationwith R,Springer.

撰文者:
鄒慶士 博士
現任:
北商資訊與決策科學所教授
中華 R 軟體學會理事長
信箱:
vince.tsou@gmail.com