本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

Rで解析:データ名の修正と作成に便利かも「strex」パッケージ

データ名で数字の桁数が揃っていないために、sortコマンド等で期待した通りに並ばなかった経験はないでしょうか。意外とデータ名の修正は面倒です。そんな手間を軽減するパッケージの紹介です。

パッケージバージョンは1.4.2。実行コマンドはwindows 11のR version 4.1.2で確認しています。

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

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

#パッケージのインストール
install.packages("strex")
スポンサーリンク

コマンドの紹介

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

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

###データ例の作成#####
set.seed(1234)
TestData <- sample(sample(paste0("Group", 1:300, "_NO", 1:50), 10, replace = TRUE))
#確認
TestData
[1] "Group3_NO3"    "Group259_NO9"  "Group183_NO33" "Group155_NO5"  "Group187_NO37" "Group200_NO50"
[7] "Group193_NO43" "Group35_NO35"  "Group70_NO20"  "Group188_NO38"
########

#基本のsortコマンドで並び替え
#桁数が異なるので小さい順から並ばない
sort(TestData)
[1] "Group155_NO5"  "Group183_NO33" "Group187_NO37" "Group188_NO38" "Group193_NO43" "Group200_NO50"
[7] "Group259_NO9"  "Group3_NO3"    "Group35_NO35"  "Group70_NO20"

#桁数を揃える:str_alphord_numsコマンド
ResultData <- str_alphord_nums(TestData)
sort(ResultData)
[1] "Group003_NO03" "Group035_NO35" "Group070_NO20" "Group155_NO05" "Group183_NO33" "Group187_NO37"
[7] "Group188_NO38" "Group193_NO43" "Group200_NO50" "Group259_NO09"

#文字列に含まれる数字を取得:str_extract_numbersコマンド
str_extract_numbers(TestData)
[[1]]
[1] 3 3

[[2]]
[1] 259 9
#以下省略

#指定文字が初出現より前方文字列を取得:str_before_firstコマンド
#後方はstr_after_firstコマンド
str_before_first(TestData, pattern = "3")
[1] "Group"       NA            "Group18"     NA            "Group187_NO" NA            "Group19"    
[8] "Group"       NA            "Group188_NO"

#指定文字の最後尾より前方文字列を取得:str_before_lastコマンド
#後方はstr_after_lastコマンド
str_before_last(TestData, pattern = "3")
[1] "Group3_NO"    NA             "Group183_NO3" NA             "Group187_NO"  NA             "Group193_NO4"
[8] "Group35_NO"   NA             "Group188_NO" 

#指定出現数より前方文字列を取得:str_before_nthコマンド
#後方はstr_after_nthコマンド
str_before_nth(TestData, pattern = "5", n = 2)
[1] NA            NA            NA            "Group15"     NA            NA            NA           
[8] "Group35_NO3" NA            NA   

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

このコードの続きをAIに聞く

スポンサーリンク
Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.