rデモ01_はじめの一歩2016

4
#------------------------------------------------------- # 演演 1) 演演演演演演演 #------------------------------------------------------- 1 + 2 + 5 + 10 4 * 185 2^5 # 演演演演演演 sqrt(2) # 演演演 log10(1000) # 演演演演演演演 exp(10) + exp(2) sum(1:100) # 1 演演 100 演演演演演演演演演演演演 round(sqrt(2)) # 演演演演 round(sqrt(2), digits=2) # 演演演演演演演演演演演 ceiling(sqrt(2)) # 演演演演 floor(1.9) # 演演演演 # 演演演演演演演演 演 、、 1+2+3+ 4+5+6 # 演演演演演 演演演演 一、 1+2+3; 4+5+6; # 演 #------------------------------------------------------- # 演演 2) 演演演演演演演演演演 #------------------------------------------------------- #----------------------------- # 演演演演演演演演演演演 #----------------------------- x1 <- 1 x2 <- 6.78 mode(x1) # numeric : 演演 mode(x2) # numeric : 演演 # 演演演演演 as.integer(x1)

Upload: wada-kazumi

Post on 23-Jan-2017

24 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Rデモ01_はじめの一歩2016

#-------------------------------------------------------# 演習 1) まず電卓として

#-------------------------------------------------------1 + 2 + 5 + 104 * 1852^5 # べき乗の計算

sqrt(2) # 平方根

log10(1000) # 常用対数の計算

exp(10) + exp(2)sum(1:100) # 1 から 100 までの整数を全て合計する

round(sqrt(2)) # 四捨五入

round(sqrt(2), digits=2) # 少数点第三位を四捨五入

ceiling(sqrt(2)) # 切り上げ

floor(1.9) # 切り捨て

# 式が長すぎる場合、続くことがわかるようなところで改行すれば、続きを次の行に書いても大丈夫

1+2+3+ 4+5+6

# 二つ以上の計算式を一行に書くときは、セミコロンを使う

1+2+3; 4+5+6;

# 他にも、各自でいろいろ試してみてください

#-------------------------------------------------------# 演習 2) 様々なデータ型の変数

#-------------------------------------------------------#-----------------------------# 実数データと整数データ

#-----------------------------x1 <- 1x2 <- 6.78

mode(x1) # numeric : 数字

mode(x2) # numeric : 数字

# 整数に変換

as.integer(x1)

Page 2: Rデモ01_はじめの一歩2016

as.integer(x2) # 少数点部分を落として強制的に整数に

x1 <- as.integer(x1) # ここで x1 を整数型にしておく

#-----------------------------# 文字データ

#-----------------------------x3 <- c("ab", "cde", "f") x4 <- "1234" # ""で囲むと数字でも文字扱い

mode(x3) # "character"mode(x4) # "character"

# 文字を整数に変換してみる

as.integer(x3) # 中身がアルファベットなので警告が出て全て NA に変換される

as.integer(x4) # 文字列の中身が数字だけであれば変換可能

#-----------------------------# 論理値データ

#-----------------------------x5 <- TRUEx6 <- FALSEmode(x5) # "logical"mode(x6) # "logical"

#-------------------------------------------------------# 演習 3) 計算できるデータ型は?#-------------------------------------------------------# 演習 2 で作成した x1--x6 を使います。

x1 * 1.5 # ○x2 * 1.5 # ○x3 * 1.5 # ×x4 * 1.5 # ×x5 * 1.5 # ○x6 * 1.5 # ○# ※ 論理値データは、True は 1、False は 0 として計算されることに注意!

# x4 は整数変換可能なので型変換すれば計算可能

Page 3: Rデモ01_はじめの一歩2016

as.integer(x4) * 1.5 # ○

# 整数型に 1.5 を掛けると?x7 <- x1 * 1.5mode(x7) # x7 は自動的に実数型(numeric)になり計算に問題はおこらない

#-------------------------------------------------------# 演習 4) 様々なデータの構造

#-------------------------------------------------------#-----------------------------# 数値・文字列ベクトル

#-----------------------------y1 <- c(1, 2, 3)y2 <- c("a", "bcd", "ef", "ghijkl")is.vector(y1); is.vector(y2) # 型は整数と文字列だが、どちらも構造はベクトル

#-----------------------------# 数値や文字列の行列の作成

#-----------------------------# 数値の行列

y3 <- matrix(1:9, nc=3)y3 # 要素は縦並びに格納される

y3[2,2] # 2 行 2 列の要素を取り出す

y3[3,] # 3 行目の要素全てを取り出す

y3[,3] # 3 列目の要素全てを取り出す

y3 <- matrix(1:9, nc=3, nr=4)y3# 要素が足りないときは要素が自動的に再利用される!

# 文字列の行列

(y4 <- matrix(c("a", "bc", "def", "ef", "g", "h"), nr=2))

#-----------------------------# 配列

#-----------------------------

Page 4: Rデモ01_はじめの一歩2016

(y5 <- array(1:24, c(2,3,4)))

# 個別の要素の指定方法

y5[1,1,1]

# 要素の部分的な指定方法

y5[,,-1]

#-----------------------------# リスト

#-----------------------------(y6 <- list(y1, y2, y3, y4, y5))# 個別の要素の指定方法

y6[[2]][2]

# さらに構成要素に名前をつける

names(y6) <- c("y1", "y2", "y3", "y4", "y5")y6

# つけた個別要素名を使った指定の方法

y6$y5[1,2,1]

# 構造確認の方法

str(y6)

#-----------------------------# cbind, rbind#-----------------------------(z1 <- c(1,2,3)) # 要素数 3 の縦ベクトル

(z2 <- matrix(1:9, nc=3, nr=4))   # 4×3 の行列

(z3 <- rbind(z1, z2)) # 5×3 の行列

(z4 <- c(1,2,3,4,5)) # 要素数 5 の縦ベクトル

(z5 <- cbind(z3, z4)) # 5×4 の行列

z5[2,4] # 2

#########################################################