基本コマンドを工夫すればほとんどのことが可能なRですが、できればパッケージを利用してサクッと処理したいものです。ちょっとしたデータの操作に便利なパッケージの紹介です。
欠損値に対して関数を処理する「applyna」コマンドやfactor classのラベルをnumeric classに変換する「fac2num」コマンドは意外と便利かもしれません。
パッケージバージョンは0.1。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.3で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール install.packages("devtools") devtools::install_github("patr1ckm/patr1ckm")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み
library("patr1ckm")
###データ例の作成#####
n <- 30
TestData <- data.frame(Group = sample(paste0("Group", 1:5), n, replace = TRUE),
Data1 = rnorm(n),
Data2 = rnorm(n) + rnorm(n) + rnorm(n),
Data3 = sample(c(0:1, NA), n, replace = TRUE),
Data4 = sample(LETTERS[1:26], n, replace = TRUE))
#######
#
#処理方向を指定:marオプション;行:1,列:2
#関数を指定:FUNオプション
applyna(TestData, mar = 2, FUN = sum)
Group Data1 Data2 Data3 Data4
0 0 0 11 0
#factor classをnumeric classに変換:fac2numコマンド
#factor classの例
x <- factor(c(3, 4, 9, 4, 9))
sum(x)
Summary.factor(c(1L, 2L, 3L, 2L, 3L), na.rm = FALSE) でエラー:
‘sum’ は因子に対しては無意味です
#as.numericで変換
#数値になりません
as.numeric(x)
[1] 1 2 3 2 3
#fac2numコマンド
fac2num(x)
[1] 3 4 9 4 9
#データ内容を行列指定して表示:hhコマンド
#データはlist,matrix,data.frameが対応
hh(TestData, nrows = 10, ncols = 3)
Group Data1 Data2
1 Group5 0.9076054 -0.4986835
2 Group1 -1.0633429 0.9135707
3 Group3 0.1899058 -3.2955295
4 Group4 -0.5413327 -0.5238083
5 Group3 -0.6785925 0.9935114
6 Group2 0.4760690 -1.8305393
7 Group2 -0.4870935 1.0061167
8 Group2 -1.4819214 -0.5239308
9 Group1 -0.4824324 -2.9419682
10 Group1 0.3007636 3.8981577
#strコマンドを行範囲を指定して表示:hstrコマンド
#データはlist,matrix,data.frameが対応
hstr(TestData, n = 3)
'data.frame': 30 obs. of 3 variables:
$ Group: Factor w/ 5 levels "Group1","Group2",..: 5 1 3 4 3 2 2 2 1 1 ...
$ Data1: num 0.908 -1.063 0.19 -0.541 -0.679 ...
$ Data2: num -0.499 0.914 -3.296 -0.524 0.994 ...
#データの指定した位置をlistで内容表示:leコマンド
#listで表示しないuleコマンドも収録されています
#位置を指定:iオプション
le(TestData, i = 5)
$Group
[1] Group3
Levels: Group1 Group2 Group3 Group4 Group5
$Data1
[1] -0.6785925
$Data2
[1] 0.9935114
$Data3
[1] 0
$Data4
[1] I
Levels: A B D F G I K L M N O Q S V X Y Z
[/code]
少しでも、あなたのウェブや実験の解析が楽になりますように!!