農業情報学 - RENANDI

農業情報学
H28年度、第2回
1. 起動と終了
• 「起動と終了」を実⾏して下さい。
2. 計算
2.1 計算(Rは計算機)
• >1+2
• >(12+34-56)*78/90
を実⾏せよ。
*この授業では「>」以下を各⾃実⾏して下さい。
記号
意味
+
加算
-
減算
*
乗算
/
除算
%/%
整数除算(商)
%%
剰余(余)
^ または **
累乗
• >10 %/% 2
• >10 %/% 3
• >10 %% 2
• >10 %% 3
• >10 ** 2
• >10 ^ 2
2.2 数学関数(Rは関数電卓)
• >sqrt(10)
• sqrt: ルート
• >(cos(0)-sqrt(2)) / exp(4)
関数の⼀覧については、教科書P21を参照
3 便利な機能
3.1 コメント
• >1 + 2 + 3 + 4 + 5
# コメントだよ。
• 「#」以下はコメントとなり、計算には関係ない。
3.2 履歴
• 「上⽮印」を押すと、過去の⼊⼒が遡れる。
3.3 スペース、セミコロン、未完了式
• 「スペース」は途中で⼊れても関係ない。
• >1
+
1
• >1+1;2+2
• セミコロンで区切って複数の式を1⾏に書ける。
• 「>1+バシ」
• 「>」が「+」になって、式の続きを⼊⼒できる。
• * この授業で「バシ」はリターンを表す
4. 変数への代⼊と値の表⽰
4.1 代⼊と変数値の表⽰
• 代⼊
• 「変数 <- 数値、計算式、⽂字列」
• Ex.
•
•
•
•
>w <- 2
>x <- 1 + 2 + 3
>y <- sqrt(2)
>z <- “potato”
• 変数値の表⽰
• 変数をそのまま書いてバシ。
• >w; x; y; z
• 値(計算結果)が表⽰される。
• 1+2+3やsqrt(2)が表⽰されるわけではない。
• >print(x)でも表⽰できる。
4.2 代⼊のルール
• ①変数の⼤⽂字・⼩⽂字は区別される。
•
•
•
•
•
X <- 2 と x <- 3は別。
>X <- 2
>x <- 3
>X
>x
Xとxの値が異なることを確認せよ。
• ②変数に数字を使うことはできるが先頭はだめ
•
•
•
•
x2 <- 2 はO.K.
2x <- 2 はダメ。
>x2 <- 2
>2x <- 2
代⼊のルール(つづき)
• ③いくつかの⽂字列は、すでに利⽤されているので、変数とし
て利⽤できない。
• Ex. break else FALSE for function if in Inf NA NaN next NULL repeat
TRUE while
• > break <- 2
• > Break <- 2
代⼊のルール(続き)
• ④変数同⼠で演算できる。
• > x <- 2; y <- 3
• >x+y
• ⑤変数に代⼊しなおすことができる。
• > x <- 2
• > x <- 3
• >x
• ⑥「(代⼊式)」で代⼊と表⽰を同時に実⾏する。
• >(x <- 3)
• ⑦連続して代⼊することができる。
• > a <- b <- 5
4.3 代⼊の練習
• >x <- 3
• >sin(x) + cos(x)
5 ベクトル
ベクトルの基礎
• 1,2,3,4,5の平⽅根が知りたい
• >sqrt(1);sqrt(2);sqrt(3);sqrt(4);sqrt(5)
• ⾯倒だ。
• ベクトル(Rでは数字の集合の意)を使うと楽。
• >x <- c(1,2,3,4,5)
• >sqrt(x)
• >log(x)
ベクトルの関数
• 平均、中央値、最⼤値、最⼩値、標準偏差など
を簡単に求めることができる。
•
•
•
•
•
mean(x)
median(x)
max(x)
min(x)
sd(x)
• 練習
• 茨城県の2001年から2010年までの⽔稲の収量は以下
だった。
• 5.1, 6.2, 4.7, 6.1, 6.5, 5.4, 4.9, 6.2, 5.5, 6.0
• これらの平均、中央値、最⼤値、最⼩値、標準偏差を
求めよ。
ベクトルの要素
• ベクトルの各々の数値を要素と呼ぶ。
• n番⽬の要素を⾒たいときは、ベクトル名[n]とする。
• >x <- c(1,3,5,7,10)
• >x[3]
• n番⽬の要素を変更したいとき。
• >x[3] <- 13
• >x
• ベクトルxに値を追加したいとき。
• >x <- c(x,15)
ベクトルの演算
• ベクトル同⼠の演算(要素が同じ場合)は、各要素の演算にな
る。
•
•
•
•
>x
>x
>z
>x
<- c(1,2,3); y <- c(4,5,6)
+y
<- c(4,5)
+z
• ベクトルと⼀つの数値の演算は、すべての要素へ同じ演算が⾏
われる。
• >x+1
規則性のあるベクトルの⽣成
• > 1:5
• > seq(1,5)
• > seq(1,5,by=2)
• > seq(1,5,length=10)
• > rep(1,5)
• > rep(1:5,3)
その他、便利なベクトルの関数
• >x <- c(1,2,5,3,3,66,10,0,5,55)
• > sort(x)
• > length(x)
• > sum(x)
• > cumsum(x)
• > diff(x)
• > rev(x)
• > unique(x)
それぞれの関数が何をやっているか答えよ。