Rで解析:forコマンド処理の管理にとっても便利です「magicfor」パッケージ


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

forコマンドの処理毎の結果をlist、data.frameまたはvectorに保存するパッケージです。特にlistに保存する「magic_result」コマンドがオススメです。

手間がかからず思い通りにデータを操ることができるので、思わず笑みがこぼれてしまいます。

使用方法はforコマンドの処理内容を「magic_for」コマンドと「magic_result」「magic_result_as_dataframe」「magic_result_as_vector」のいずれかのコマンドで囲うだけです。

<例>

magic_for()

forコマンドの処理内容

magic_result() or magic_result_as_dataframe() or magic_result_as_vector()

非常に便利なパッケージです。「magic_for」コマンドの内容を確認するだけでも参考になります。

・magicforのGitHub
https://github.com/hoxo-m/magicfor

パッケージバージョンは0.0.0.9000。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.3で確認しています。


パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("devtools")
devtools::install_github("hoxo-m/magicfor")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("magicfor")

###データ例の作成#####
n <- 100
TestData <- data.frame(Group = sample(paste0("Group", 1:5), n, replace = TRUE),
                       Data1 = rnorm(n),
                       Data2 = rnorm(n) + rnorm(n) + rnorm(n),
                       Data3 = sample(1:5, n, replace = TRUE),
                       Data4 = sample(LETTERS[1:26], n, replace = TRUE))
#######

#forコマンド前に実行:magic_forコマンド
magic_for()

#処理
for(i in seq(unique(TestData[, 4]))) {
 
  #Data3の数値でTestDataを抽出
  Data <- subset(TestData, TestData[, 4] == i)
  print(Data)
 
  #Data4の文字でTestDataを抽出
  #抽出内容を作成
  ExCharData <- sample(LETTERS[1:26], i, replace = TRUE)
  print(ExCharData)
  #抽出
  Char <- subset(TestData, TestData[, 5] %in% ExCharData)
  print(Char)
}

#listで結果を取得:magic_resultコマンド
TestResult <- magic_result()
#内容を確認
str(TestResult)
List of 3
$ Data      :List of 5
..$ :'data.frame':	26 obs. of  5 variables:
#省略
$ ExCharData:List of 5
..$ : chr "T"
#省略
$ Char      :List of 5
..$ :'data.frame':	7 obs. of  5 variables:

#data.frameで結果を取得:magic_result_as_dataframeコマンド
TestResultDF <- magic_result_as_dataframe()
#内容を確認
TestResultDF
 i         Data   ExCharData         Char
1 1 c(2, 1, ....            T c(4, 1, ....
2 2 c(1, 5, ....         K, H c(4, 5, ....
3 3 c(2, 2, ....      R, D, E c(1, 5, ....
4 4 c(1, 3, ....   J, D, R, C c(1, 5, ....
5 5 c(5, 4, .... E, O, O,.... c(2, 5, ....

#vectorで結果を取得してlistに格納:magic_result_as_vectorコマンド
TestResultVec <- magic_result_as_vector()
str(TestResultVec)
List of 3
$ Data      : Named num [1:500] 2 1 2 3 5 1 3 2 1 2 ...
..- attr(*, "names")= chr [1:500] "Group1" "Group2" "Group3" "Group4" ...
$ ExCharData: chr [1:15] "T" "K" "H" "R" ...
$ Char      : Named num [1:335] 4 1 5 3 2 ...
..- attr(*, "names")= chr [1:335] "Group1" "Group2" "Group3" "Group4" ...

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

スポンサードリンク

おすすめコンテンツ


スポンサードリンク