Rのsubstring()関数について知っておくべきこと
RのSubstring()関数は、データ中に存在する文字を抽出したり、データを操作したりするために広く使用されています。文字列から必要な文字を簡単に抽出したり、文字列内の値を置換したりすることができます。
みなさん、こんにちは。お元気ですか。今日はRのsubstri ng関数に焦点を当てましょう。
substring()関数の構文
日本語では、次のように言い換えます:「文字列の値の抽出や置換など、複数の操作を実行することができます。そのためには、substr()やsubstring()などの関数を使用します」。
substr(x,start,stop)
substring(x,first,last=1000000L)
どこで: (Doko de)
- x = the input data / file.
- Start / First= starting index of the substring.
- Stop / Last= Ending index of the substring.
Rでsubstring()関数を使用して文字列を抽出する。
まあ、構文についてかなり理解していることを願っています。今は、Rのsubstring()関数を使って文字列からいくつかの文字を取り出しましょう。
#returns the characters from 1,11
df<-("Journal_dev_private_limited")
substring(df,1,11)
出力 = “ジャーナル_開発”
#returns the characters from 1-7
df<-("Journal_dev")
substring(df,1,7)
出力 = 「ジャーナル」
おめでとうございます、与えられた文字列からデータを抽出しました。ご覧の通り、Rのsubstring()関数は、開始/最初の値と終了/最後の値を引数として受け取り、文字列をインデックスし、指定された範囲の部分文字列を返します。
Rでsubstring()関数を使用して置き換えると:
substring()関数の助けを借りて、文字列内の値を好きな値で置き換えることもできます。面白そうですよね?それでは、どのように機能するか見てみましょう。
#returns the string by replacing the _ by space
df<-("We are_developers")
substring(df,7,7)=" "
df
私たちは開発者です。 (Watashitachi wa kaihatsushadesu)
#string replacement
df<-("R=is a language made for statistical analysis")
substring(df,2,2)=" "
df
出力 = 「Rは統計分析のために作られた言語です」
すごい!これで、文字列内の値を自分の希望する値に置き換えることができます。
上記の場合、あなたは「_」(アンダースコア)と「=」(イコールサイン)を「 」(スペース)で置き換えました。もっと理解していただけたら嬉しいです。
substring()関数を使用した文字列の置換先
今まで、すべてが良いです!しかし、もしもいくつかの値を置き換えなければならない場合、それはすべての文字列に反映される必要があります。
心配しないでください!私たちは値を置き換えることができ、それらをすべての文字列に反映させることができます。
どうやってそれが動くか見てみましょう! (Dōyatte sore ga ugoku ka mite mimashō!)
#replaces the 4th letter of each string by $
df<-c("Alok","Joseph","Hayato","Kelly","Paloma","Moca")
substring(df,4,4)<-c("$")
df
出力 = “アロ$”、”ジョス$”、”ハユ$”、”ケル$”、”パル$”、”モク$”
あら、何が起こったの?文字列の4番目の文字がすべて「$」に置き換わっちゃったの!
それがsubstring()です。それによって、指定された位置に私たちの指定した値を置き換えることができます。
(Sore ga substring() desu. Sore ni yotte, sadei sareta ichi ni watashitachi no teishi shita atai o okikaeru koto ga dekimasu.)
上記の場合、すべての入力文字列の4文字目ごとに、substring() 関数によって「$」記号で置き換えられました。信じられないですよね?私はそう言います。では、あなたはどうですか?
Rでのsubstr()関数とstr_sub()関数の使用
私たちはすでに行に焦点を当ててきました。今度は、列の文字の抽出についても調べていきます。
さて、それがどのように機能するのか見てみましょう!(Sate, sore ga dono yō ni kinō suru no ka mite mimashou!)
私たちは、Technologiesとpopularityという2つの列を持つサンプルデータを使ってデータフレームを作成できます。このデータから特定の文字を抽出しましょう。楽しみです。
#creates the data frame
df<-data.frame(Technologies=c("Datascience","machinelearning","Deeplearning","Artificalintelligence"),Popularity=c("70%","85%","90%","95%"))
df
Technologies Popularity
1 Datascience 70%
2 machinelearning 85%
3 Deeplearning 90%
4 Artificalintelligence 95%
はい、私たちはデータフレームを作成しました。テキストを抽出しましょう。そのために、Rのsubstr()関数を使用して、Technologies列のすべての文字列から8〜10文字を抽出するための以下のコードを実行してください。
#creates new column with extracted values
df$Extracted_Technologies=substr(df$Technologies,8,10)
df
アウトプット
Technologies Popularity Extracted_Technologies
1 Datascience_DS 70% enc
2 machinelearning_ML 85% lea
3 Deeplearning_DL 90% rni
4 Artificalintelligence_AI 95% ali
今、新しい列を作成してデータを抽出できることがわかります。このように、インデックスの値を指定することでデータを抽出できます。
Rでstr_sub()関数を使用する
私たちはsubstr()関数が動作しているのを見ました。さて、前にも述べたように、今度はstr_sub()関数とその抽出方法について調べてみます。
行こうぜ! (Ikou ze!)
私たちは再び、テクノロジーとその人気のデータを含んだ同じデータフレームを作成する予定です。
df<-data.frame(Technologies=c("Datascience","machinelearning","Deeplearning","Artificalintelligence"),Popularity=c("70%","85%","90%","95%"))
df
Technologies Popularity
1 Datascience 70%
2 machinelearning 85%
3 Deeplearning 90%
4 Artificalintelligence 95%
さて、出力としてインデックスされた文字を返す str_sub() 関数を活用しましょう。R での部分文字列の取得/生成はさまざまな方法があり、これはその一つです。
#using the str_sub function
df$Extracted_Technologies=str_sub(df$Technologies,10,15)
> df
以下のように、str_sub()関数はインデックスの値を抽出して、以下のような出力を返します。
Technologies Popularity Extracted_Technologies
1 Datascience 70% ce
2 machinelearning 85% arning
3 Deeplearning 90% ing
4 Artificalintelligence 95% intell
まとめる
与えられた文字列の一部を取ったり生成したりすることは非常に簡単な仕事です。substr()、substring()、str_sub()などの関数のおかげで、部分文字列を扱うことが面白く興味深くなりました。
今は以上です。この素晴らしい機能を計算に活用することを忘れないでください。サブストリングを楽しんでください!
もっと勉強すること:Rのドキュメンテーション