ここまで解説してきた関数を少し復習しておきましょう
型の変換
as.numeric()
as.character()
ベクトル
c()
データフレーム
data.frame()
View()
パッケージ
install.packages()
library()
関数
sum()
8個もすでに解説していますね。
今回、使う関数は、sum(), summary(), unique(),sort()です。 新しい関数、summaryとuniqueとsort、一度動画をとめて、 ご自身の手でどんな動作をするかをヘルプファイルを みて確認してみてください。
できましたか?
のヘルプファイルを呼び出してExamplesの内容を確認してみましょう
Examples
ここで
event mag station dist accel
1 1 7.0 117 12 0.359
2 2 7.4 1083 148 0.014
3 2 7.4 1095 42 0.196
4 2 7.4 283 85 0.135
5 2 7.4 135 107 0.062
6 2 7.4 475 109 0.054
#は、Rに最初から組み込まれているデータです。
summary (attenu, digits = 4 ) #-> summary.data.frame(...), default precision
event mag station dist
Min. : 1.00 Min. :5.000 117 : 5 Min. : 0.50
1st Qu.: 9.00 1st Qu.:5.300 1028 : 4 1st Qu.: 11.32
Median :18.00 Median :6.100 113 : 4 Median : 23.40
Mean :14.74 Mean :6.084 112 : 3 Mean : 45.60
3rd Qu.:20.00 3rd Qu.:6.600 135 : 3 3rd Qu.: 47.55
Max. :23.00 Max. :7.700 (Other):147 Max. :370.00
NA's : 16
accel
Min. :0.00300
1st Qu.:0.04425
Median :0.11300
Mean :0.15422
3rd Qu.:0.21925
Max. :0.81000
summary (attenu $ station, maxsum = 20 ) #-> summary.factor(...)
117 1028 113 112 135 475 1030 1083 1093 1095
5 4 4 3 3 3 2 2 2 2
111 116 1219 1299 130 1308 1377 1383 (Other) NA's
2 2 2 2 2 2 2 2 120 16
lst <- unclass (attenu$ station) > 20 # logical with NAs
## summary.default() for logicals -- different from *.factor:
summary (lst)
Mode FALSE TRUE NA's
logical 28 138 16
FALSE TRUE NA's
28 138 16
現時点ではわかりにくいものがいくつかあると思いますが、 コースの中で解説していきますので心配ありません。
とりあえず、Examplesの内容からは、
event mag station dist
Min. : 1.00 Min. :5.000 117 : 5 Min. : 0.50
1st Qu.: 9.00 1st Qu.:5.300 1028 : 4 1st Qu.: 11.32
Median :18.00 Median :6.100 113 : 4 Median : 23.40
Mean :14.74 Mean :6.084 112 : 3 Mean : 45.60
3rd Qu.:20.00 3rd Qu.:6.600 135 : 3 3rd Qu.: 47.55
Max. :23.00 Max. :7.700 (Other):147 Max. :370.00
NA's : 16
accel
Min. :0.00300
1st Qu.:0.04425
Median :0.11300
Mean :0.15422
3rd Qu.:0.21925
Max. :0.81000
とすることで、データフレームやベクトルを集計してくれる 関数だということがなんとなくわかると思います。
unique関数もみていきましょう
x <- c (3 : 5 , 11 : 8 , 8 + 0 : 5 )
x
[1] 3 4 5 11 10 9 8 8 9 10 11 12 13
[1] 3 4 5 11 10 9 8 12 13
(u2 <- unique (x, fromLast = TRUE )) # different order
[1] 3 4 5 8 9 10 11 12 13
stopifnot (identical (sort (ux), sort (u2)))
length (unique (sample (100 , 100 , replace = TRUE )))
## approximately 100(1 - 1/e) = 63.21
head (unique (iris))
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
unique関数は、ちょっと例がわかりづらいですが、
vec <- c (1 ,1 ,1 ,1 ,1 ,3 ,3 ,3 ,3 ,3 ,2 ,2 ,2 ,2 ,2 )
unique (vec)
こんな感じでベクトルの中から重複をなくして 「ユニーク」な要素をもつベクトルを作ってくれる という関数です。
最後に、
これも、ヘルプファイルが難しいですね。 単純に、入れたベクトルの順番を昇順・降順に並び替えてくれる 関数です。
[1] 1 1 1 1 1 3 3 3 3 3 2 2 2 2 2
こんな感じで、先ほど作成したvecをユニークにしたもの の順番をソートしてくれます。
ヘルプファイルを見ていきましょう
Usageのところの一番上の使い方として、 sort(x, decreasing = FALSE, ...)とあります。decreasingのargumentには初期値が 与えられていて、 decreasingの説明をみると、 logical. Should the sort be increasing or decreasing?とあります。 logicalなので、TRUEかFALSEをいれられます。
初期値のFALSEではない値にしてみましょう。
sort (unique (vec), decreasing= FALSE )
sort (unique (vec), decreasing= TRUE )
と、こんな具合で順番が入れ替わりました。
いかがでしょうか?関数のヘルプファイルをみて、 その関数の使い方を理解することが、なんとなくできそうに 感じていただいていれば、OKです。
それでは、本セクションのまとめを次の動画でしてから、 次のセクションにすすんでいきましょう。