Rで解析:ちょっとしたデータの操作に便利です。「patr1ckm」パッケージ


投稿日: Rの解析に役に立つ記事

基本コマンドを工夫すればほとんどのことが可能な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

少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク