Rで解析:データ内容の置換に便利かも「wildcard」パッケージ


data.frameの内容を置換するのに便利なパッケージだと思います。因子を削除するコマンドも収録されています。

パッケージバージョンは1.0.3。windows 10のR version 3.4.1で動作を確認しています。


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

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

#パッケージのインストール
install.packages("wildcard")

コマンドの紹介

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

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

###データ例の作成#####
n <- 6 TestData <- data.frame(Group = sample(paste0("Group", 1:5), n, replace = TRUE), Data1 = round(rnorm(n), 2), Data2 = round(rnorm(n) + rnorm(n) + rnorm(n), 2), Data3 = sample(0:1, n, replace = TRUE), Data4 = sample(LETTERS[1:26], n, replace = TRUE)) #内容確認 TestData Group Data1 Data2 Data3 Data4 1 Group4 1.00 0.90 1 T 2 Group4 0.44 2.73 0 S 3 Group2 2.06 -3.31 0 Q 4 Group4 -1.45 0.29 1 O 5 Group5 0.00 -2.11 1 Q 6 Group4 1.00 -0.28 0 I ######## #指定内容またはルールで置換:wildcardコマンド #データを指定:dfオプション #指定内容:wildcardオプション #置換内容:valuesオプション #置換内容を全て適応:expand;TRUE;FALSEで順番に適応 wildcard(df = TestData, wildcard = "0", values = c("ZERO", "KARADA"), expand = TRUE, rules = NULL) Group Data1 Data2 Data3 Data4 1 Group4 1 ZERO.9 1 T 2 Group4 1 KARADA.9 1 T 3 Group4 ZERO.44 2.73 ZERO S 4 Group4 KARADA.44 2.73 KARADA S 5 Group2 2.ZERO6 -3.31 ZERO Q 6 Group2 2.KARADA6 -3.31 KARADA Q 7 Group4 -1.45 ZERO.29 1 O 8 Group4 -1.45 KARADA.29 1 O 9 Group5 ZERO -2.11 1 Q 10 Group5 KARADA -2.11 1 Q 11 Group4 1 -ZERO.28 ZERO I 12 Group4 1 -KARADA.28 KARADA I #ルールで置換 #Group2が全て適応,0が順番に適応 Rules <- list(Group2 = c("G2", "G3"), "0" = c("Zero", "")) wildcard(df = TestData, expand = c(TRUE, FALSE), rules = Rules) Group Data1 Data2 Data3 Data4 1 Group4 1 Zero.9 1 T 2 Group4 Zero.44 2.73 Zero S 3 G2 2.6 -3.31 Q 4 G3 2.Zero6 -3.31 Zero Q 5 Group4 -1.45 .29 1 O 6 Group5 -2.11 1 Q 7 Group4 1 -Zero.28 I #データ内容を行方向に繰り返す:expandrowsコマンド #繰り返し方法の指定:typeオプション;"each","times"が指定可能 expandrows(df = TestData, n = 2, type = "times") Group Data1 Data2 Data3 Data4 1 Group4 1.00 0.90 1 T 2 Group4 0.44 2.73 0 S 3 Group2 2.06 -3.31 0 Q 4 Group4 -1.45 0.29 1 O 5 Group5 0.00 -2.11 1 Q 6 Group4 1.00 -0.28 0 I 7 Group4 1.00 0.90 1 T 8 Group4 0.44 2.73 0 S 9 Group2 2.06 -3.31 0 Q 10 Group4 -1.45 0.29 1 O 11 Group5 0.00 -2.11 1 Q 12 Group4 1.00 -0.28 0 I #因子の削除:nofactorsコマンド #GroupとData4が因子 str(TestData) 'data.frame': 6 obs. of 5 variables: $ Group: Factor w/ 3 levels "Group2","Group4",..: 2 2 1 2 3 2 $ Data1: num 1 0.44 2.06 -1.45 0 1 $ Data2: num 0.9 2.73 -3.31 0.29 -2.11 -0.28 $ Data3: int 1 0 0 1 1 0 $ Data4: Factor w/ 5 levels "I","O","Q","S",..: 5 4 3 2 3 1 #GroupとData4が文字になる str(nofactors(df = TestData)) 'data.frame': 6 obs. of 5 variables: $ Group: chr "Group4" "Group4" "Group2" "Group4" ... $ Data1: num 1 0.44 2.06 -1.45 0 1 $ Data2: num 0.9 2.73 -3.31 0.29 -2.11 -0.28 $ Data3: int 1 0 0 1 1 0 $ Data4: chr "T" "S" "Q" "O" ... [/code]


少しでも、あなたの解析が楽になりますように!!

スポンサードリンク

関連コンテンツ


スポンサードリンク