Created
December 24, 2019 09:13
-
-
Save kozo2/1511b363382df13c984d4a7257514945 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
title: "Exercise1: Rの基本操作" | |
output: html_notebook | |
--- | |
このノートブックでは、Rの基本的な使い方について説明します | |
## データ型 | |
--- | |
あらゆるプログラミング言語において、データには型があります | |
例えば、Rのコンソール画面で1と打つと1と出力されますが | |
```{r} | |
1 | |
``` | |
isという関数を使うと、これは"numeric"という型を持ち、また長さ1のvector(後述)でもあることがわかります | |
```{r} | |
is(1) | |
``` | |
整数ではなく、小数点以下の数字も含んだ値(不動小数点数)もnumericです | |
```{r} | |
is(2.1) | |
``` | |
ただし1Lと打つと、これはinteger(整数)としての1を定義したことになります | |
```{r} | |
is(1L) | |
``` | |
数値データは様々な計算ができます | |
```{r} | |
1 + 1 # 足し算 | |
``` | |
```{r} | |
3 - 1 # 引き算 | |
``` | |
```{r} | |
6 * 2 # 掛け算 | |
``` | |
```{r} | |
4 / 2 # 割り算 | |
``` | |
```{r} | |
2^5 # 2の5乗 | |
``` | |
```{r} | |
log10(5) # 5の常用対数値 | |
``` | |
ダブルクオーテーション"で文字列をくくると、これはcharacterというデータ型になります | |
```{r} | |
"SAKIGAKE" | |
``` | |
```{r} | |
is("SAKIGAKE") | |
``` | |
```{r} | |
is(1) # 1は数値 | |
``` | |
```{r} | |
is("1") # ""で囲むと文字列 | |
``` | |
numericとcharacter同士は計算することができません | |
ただし例外的に、paste関数では文字列も数値も扱えます | |
このようにデータの型の違いによって、関数の挙動が異なるので、注意が必要です | |
```{r} | |
try(1 + "1") # 数値と文字列を足すことはできない | |
``` | |
```{r} | |
paste0("SAKIGAKE", "5") # 文字列同士を連結することはできる | |
``` | |
```{r} | |
paste0("SAKIGAKE", 5) # paste0関数の仕様で、文字列と数値を連結することはできる | |
``` | |
論理値TRUE/FALSEはlogicalというデータ型になります | |
```{r} | |
TRUE | |
``` | |
```{r} | |
is(TRUE) | |
``` | |
```{r} | |
FALSE | |
``` | |
```{r} | |
is(FALSE) | |
``` | |
数値や文字列が等しい(==)場合、TRUEを返します | |
```{r} | |
1 == 1 # これはTRUE(==は同じという意味) | |
``` | |
逆に等しくない場合はFALSEを返します | |
```{r} | |
1 == 2 # これはFALSE | |
``` | |
```{r} | |
"SAKIGAKE" == "SAKIGAKE" # これはTRUE | |
``` | |
```{r} | |
"SAKIGAKE" == "CREST" # これはFALSE | |
``` | |
!=(等しく無い)と書く事でTRUE/FALSEを反転させた結果を得ることができます | |
```{r} | |
"SAKIGAKE" != "CREST" # これはTRUE(!=は違うという意味) | |
``` | |
最後に、factor(因子)というデータ型を説明します | |
これは、以下のように同じ値が複数回出てくるベクトル(後述)の表現としてよく使われます | |
```{r} | |
JST <- factor(c("SAKIGAKE", "SAKIGAKE", | |
"CREST", "CREST", "CREST", | |
"ACT-X", "ACT-X", "ACT-X")) | |
``` | |
nlevels関数で、3種類の値が含まれていることがわかります | |
```{r} | |
nlevels(JST) # 3つある | |
``` | |
その三種類の値は具体的に以下のようなものだとわかります | |
```{r} | |
levels(JST) # SAKIGAKE, CREST, ACT-Xがある | |
``` | |
因子を使う上で注意する必要がある点は、as.numericで数値になってしまう点です | |
文字列が数値化された場合と異なり、ただの通し番号1,2,3...として数値化されるので注意したいです | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment