Skip to content

Instantly share code, notes, and snippets.

@yamano357
Last active December 2, 2017 06:20
Show Gist options
  • Save yamano357/f6b7c6d578451ede3b0a9649df54c304 to your computer and use it in GitHub Desktop.
Save yamano357/f6b7c6d578451ede3b0a9649df54c304 to your computer and use it in GitHub Desktop.
# Q.001 tidyverse
`library()`を用いてtidyverseパッケージを呼び出し、現在呼び出されているパッケージ一覧とtidyverseパッケージの一覧を比較し、読み込まれていないパッケージを表示すること。
呼び出し済みのパッケージ一覧には`search()`などを用いて取得し、tidyverseパッケージの一覧は`tidyverse::tidyverse_packages()`で取得可。
```{r, q001}
library(tidyverse)
```
# Q.002 dplyr
irisデータセットから、Sepal.LengthとSepal.Widthの和が大きい順にSpecies毎に5レコードずつ取り出す(5レコードを越える場合はPetal.Lengthの値が大きいものを優先する)。
取り出した後のデータフレームにSpecies毎のSepal.Lengthの大きさ順の番号を付与すること(大きさが同じ場合の順番の付け方に指定はない)。
```{r, q002}
```
# Q.003 tidyr
irisデータセットを用いて、下記のようなSpecies毎に各変数Top5の要素(重複は除外)を順々に持つチャンピオンirisデータを作成する。
つまり、番号1のレコードはそのSpeciesにおいてSepal.Length, Sepal.Width, Petal.Length, Petal.Width が1位の値を集めたもので、番号2のレコードは2位の値を集めたものとなる。
| TopN| Sepal.Length| Sepal.Width| Petal.Length| Petal.Width|Species |
|----:|------------:|-----------:|------------:|-----------:|:----------|
| 1| 5.8| 4.4| 1.9| 0.6|setosa |
| 2| 5.7| 4.2| 1.7| 0.5|setosa |
| 3| 5.5| 4.1| 1.6| 0.4|setosa |
| 4| 5.4| 4.0| 1.5| 0.3|setosa |
| 5| 5.3| 3.9| 1.4| 0.2|setosa |
| 1| 7.0| 3.4| 5.1| 1.8|versicolor |
| 2| 6.9| 3.3| 5.0| 1.7|versicolor |
| 3| 6.8| 3.2| 4.9| 1.6|versicolor |
| 4| 6.7| 3.1| 4.8| 1.5|versicolor |
| 5| 6.6| 3.0| 4.7| 1.4|versicolor |
| 1| 7.9| 3.8| 6.9| 2.5|virginica |
| 2| 7.7| 3.6| 6.7| 2.4|virginica |
| 3| 7.6| 3.4| 6.6| 2.3|virginica |
| 4| 7.4| 3.3| 6.4| 2.2|virginica |
| 5| 7.3| 3.2| 6.3| 2.1|virginica |
```{r, q003}
```
# Q.004 xml2, rvest
https://www.tidyverse.org ページ内のURLリンクのうち、tidyverseパッケージのhexタイル画像のURLを取得する。
(取得したURLのうち、好きなパッケージの画像を表示してもよい)
```{r, q004}
```
# Q.005 readr
CRANにあるreadrパッケージのREADMEから、p要素のテキスト部分を抽出してファイルに書き出し、書き出したファイルの有無とサイズを確認してください。
その後、書き出したファイルを読み込み、行数と"readr"という文字列の出現回数と出現した行数を調べること。
```{r, q005}
URL <- "https://cran.r-project.org/web/packages/readr/README.html"
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment