よく使うsubset関数! Rstudio
本当に寒い日が続いていますよね(´;ω;`)ウゥゥ
僕は、先日銭湯に行ったら、帰り道に髪の毛が凍りました(笑)
まぁまぁ、雑談はこの辺で、今回はRstudioで、おそらく最も使用される回数が多いと考えられている関数
subset関数について説明します!
subsetとは
subset関数とは、ずばり、
必要なデータを便利に抽出(抜き出す)するための関数!
になります!
分析を行う上でデータの整理は必要不可欠であり、なんども言っているかもしれませんが、データの整理は分析の8割を締めます!
まぁ、subset関数への愛はそこそことして、使用例を解説していきます!
ちなみに、私のnoteのもっとうは、とにかく、実用例を提供することです!
では、レッツラゴー!!(^_-)-☆
使用例
今回は、使用機会が最も多い(多分、9割以上)subset関数を3つ紹介します!
これを覚えれば、ほぼ間違いないと思います!
複数の項目があるデータから、必要なだけのデータを取り出す
手元に、A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Qというデータがあるとします。
また、このデータが含まれるdata.frameの名前を、data1とします。
このとき、A,B,Cだけのデータを引き出したい場合は、
data2 <- subset(data1,select = c(A,B,C))
という風なコードを書きます。
こうすることで、データフレーム、data1からA,B,Cという列を引き出すことができます。
また、今回は、データフレームの名前をdata2と変更していますが、data1とう、名前のままでも構いません。
データフレームの内容がそのまま上書きされるだけです。
data1 <- subset(data1,select = c(A,B,C))
これでも、おけ!
ちなみに、一度、上記の様に上書きしてしまうと、元データはなくなってしまうので、注意を!
サイド、read.csvからやり直す必要もあるかも(笑)
余談ですが、data.frameの数が増えれば、増えるほどR内での処理は重くなります。
(そこまで気にしなくていいけど)
なので、データフレームの処理は効率よく行うことを心がけましょう!
特定の値を抜き出したい
例えば、列の先頭に来る、列名が都道府県、その下に各、都道府県があったとします。
このとき、特定の県を抽出したい場合は
data2 <- subset(data1,都道府県=="北海道")
という感じでコードを作成します。
こうすることで、全データから北海道だけが抽出されます!
ちなみに、”北海道”というように、両上にちょんちょん(ダブルクォーテーション)を入れることは忘れないでください!
数字の場合は入れる必要はありません!
data1 <- subset(data2,number == 1)
こんな感じで、
あくまでキャラクターとして抽出する場合はちょんちょん(笑)を入れて下さい!
あと、「イコール ==」を二つにすることも忘れないでください!
==のことは演算子というのですが、この組み合わせでいろいろと条件変更できるのですが、今のところは気にしないでください( ´∀` )
また、複数の条件で抽出することもできます!
その場合は以下のようなコードになります
data2 <- subset(data1,都道府県=="北海道"&都道府県=="東京都"&都道府県=="神奈川県")
変化としては、&がついただけです
つまり、「~かつ~」の「かつ」です!
数Ⅰの集合のやつです!
とりあえず、こんな感じで特定の値を引き出せます!
では、次がいよいよ最後です!
それは、
NA以外のデータを抽出する
です!
例えば、以下のデータフレームがあったとします
この時、NAを削除したデータにしたい
そんなときは以下のようなコードを書きます
data1 <- subset(data2,!is.na(data2$prefecture))
このようなコードを書くことで、NAを削除したデータフレームを作成することができます
とりあえずは、コードをマルパクリしてください!
プログラミングの上達は、理論を抑えることも重要ですが、「これは、こういうものだ」というマインドでマルパクリすることが大切だと勝手に思ってます( ´∀` )
とりあえず、以上がsubset関数の使用例になります!
私自身、これ以外の使い方はあまり思いつきませんでした(*'ω'*)
また、今紹介したものしか使った記憶があまりありません(笑)
もし、他にも便利だよという使い方があれば教えて下さい!
多分これらの使い方がほとんど!(念押し(笑))
みなさんの訳に立てれば幸いです!
では、あでぃおす あみーご!!
subset最高!!!!!!!!!
この記事が気に入ったらサポートをしてみませんか?