Rで解析:factor classの操作に便利です「forcats」パッケージ


factor classはdata.frame classと同じくらいにRを利用する上で重要な概念だと思います。でも、Levelsの概念に慣れるまでに時間が必要です。たまに操作後に必要の無いLevelsが残り面倒です。そんな面倒を解決するパッケージの紹介です。

本パッケージはggplot2やRStudioに関わるHadley氏です。今後のアップデートが非常に楽しみなパッケージです。

立秋も過ぎてまだ残暑が続いていますが、早朝や夕暮れにひぐらしが鳴いています。皆様、いかがお過ごしでしょうか。Re:ゼロから始める異世界生活の第18話、とても良かったです。小林裕介氏、水瀬いのり氏、そして高橋李依氏の素晴らしさ、声の力、声優という仕事の力、可能性を改めて感じました。

そしてアニメ制作に関わる全ての皆様、最高です!

パッケージバージョンは0.0.0.9000。windows 7およびOS X 10.11.5のR version 3.3.1で確認しています。ボソッと、企業や様々な学問分野に所属する研究者・学者・追求者という仕事も「からだにいいもの」ですよ。憧れるアニメはあるのだろうか。

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

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

#パッケージのインストール
install.packages("devtools")
devtools::install_github("hadley/forcats")

実行コマンドの紹介

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

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

###データ例の作成#####
TestData1 <- factor(sample(c(LETTERS[1:5], letters[1:5]), 20, replace = TRUE)) TestData2 <- factor(sample(letters[1:5], 15, replace = TRUE), levels = letters[1:24]) #確認 TestData1 [1] a e e D C D D e B E A a A D a e A a A D Levels: a A B C D e E TestData2 [1] c a b d b b c c b b b a b b c Levels: a b c d e f g h i j k l m n o p q r s t u v w x ######## #factorの結合:fct_cコマンド #対象はlistコマンドで指定 fct_c(list(TestData1, TestData2)) [1] a e e D C D D e B E A a A D a e A a A D c a b d b b c c b b b a b b c Levels: a A B C D e E b c d f g h i j k l m n o p q r s t u v w x #条件に合う因子を抽出:fct_collapseコマンド #条件以外を指定内容で置き換え:other_levelオプション #n,propオプションの同時使用は不可 #出現数で指定:nオプション fct_collapse(TestData1, n = 4, other_level = "Other") [1] a e e D Other D D e Other Other A a A D [15] a e A a A D Levels: a A Other D e #出現割合で指定:propオプション fct_collapse(TestData1, prop = 0.2, other_level = "Other") [1] Other Other Other D Other D D Other Other Other Other Other Other D [15] Other Other Other Other Other D Levels: Other D #使用していないlevelを削除:fct_dropコマンド fct_drop(TestData2) [1] c a b d b b c c b b b a b b c Levels: a b c d #出現順に水準を並び替え:fct_inorderコマンド fct_inorder(TestData1) [1] a e e D C D D e B E A a A D a e A a A D Levels: a e D C B E A #出現数順に水準を並び替え:fct_infreqコマンド fct_infreq(TestData1) [1] a e e D C D D e B E A a A D a e A a A D Levels: D a A e B C E #水準を指定水準を先頭に並び替え:fct_relevelコマンド fct_relevel(TestData1, "e") [1] a e e D C D D e B E A a A D a e A a A D Levels: e a A B C D E #水準を変更:fct_recodeコマンド #変更内容="変更する水準"で指定 fct_recode(TestData1, Karada = "D", Good = "a") [1] Good e e Karada C Karada Karada e B E A Good [13] A Karada Good e A Good A Karada Levels: Good A B C Karada e E [/code]


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

スポンサードリンク

関連コンテンツ


スポンサードリンク