0
0

More than 3 years have passed since last update.

ハーバード大のWEB講座でRを使ったデータサイエンス入門をやってみる Part.2 Data型

Last updated at Posted at 2021-03-01

これからガッツリ難易度上がってきそうな気がするので心折れないように学習していきたいと思います。今回はデータの型についてやるようです。

第一回はこちら)

1.データフレーム

どうもデータをひとまとめにエクセルっぽくまとめたものをデータフレームというらしいです。エクセルっぽくとかいうと怒られそうですが気にせず先に進めます。

#dslabsのライブラリを使えるようにする。
> library(dslabs)
# 関数dataにmurdersを読み込ませる
> data("murders")
# murdersのクラスを見る。データ型のこと?
> class(murders)
[1] "data.frame"
> 

murdersがよく出てくるので物騒に思われる方もいるかもしれませんが、これは統計の例としてアメリカの犯罪発生数をサンプルデータとしてインポートしてるからですね。続いてデータの中身を見てみましょう。

> str(murders)
'data.frame':   51 obs. of  5 variables:

strはストラクチャーのことです。51個(アメリカの州の数)のデータに5種類の項目があるようですね。そのうち頭の何個かのデータを出すのはheadでやるとのことです。names(murders)とかもあるようなので入力して試してみてください。

2.データフレームの操作のしかた

> head(murders)
       state abb region population total
1    Alabama  AL  South    4779736   135
2     Alaska  AK   West     710231    19
3    Arizona  AZ   West    6392017   232
4   Arkansas  AR  South    2915918    93
5 California  CA   West   37253956  1257
6   Colorado  CO   West    5029196    65

次はアクセサを使って項目ごとにデータを見てみます。

> murders$population
 [1]  4779736   710231  6392017  2915918 37253956
 [6]  5029196  3574097   897934   601723 19687653
[11]  9920000  1360301  1567582 12830632  6483802
[16]  3046355  2853118  4339367  4533372  1328361
[21]  5773552  6547629  9883640  5303925  2967297
[26]  5988927   989415  1826341  2700551  1316470
[31]  8791894  2059179 19378102  9535483   672591
[36] 11536504  3751351  3831074 12702379  1052567
[41]  4625364   814180  6346105 25145561  2763885
[46]   625741  8001024  6724540  1852994  5686986
[51]   563626

3.データフレームの一部を割当して操作する

次は変数に1つのカラムのデータを割当してそのデータの個数を見てみます。データのひとまとまりをVector(ベクトル?)というらしいです。

> pop <- murders$population
> length(pop)
[1] 51

#別の書き方
> pop <- murders[["population"]]
> length(pop)
[1] 51

VectorにはCharactor Vector とか Logical Vectorとかあるみたいですね。あとはFactor(別名:Categorical Data)です。levelsで見れるようです。

> levels(murders$region)
[1] "Northeast"     "South"         "North Central"
[4] "West"

Factorは文字じゃんって思うんですが、どうもLevelsでやった方が文字よりメモリ効率がいいので使うらしいです。計算量が多くなってくると違うんでしょうか...。

ここまででセクション1は終わりです。テストではいきなりtableを使いだしてびっくりしましたが、冷静に問題読んで慎重に解答すればだいたい解けると思います。あとはこの投稿の第一回と第2回を読んでもらいつつ、手元のRStudioで操作やり直してみたりするのもいいかもしれません。

第三回へ続きます)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0