Rを立ち上げ、コンソール画面に
data(iris)
と入力してください。 特に変化はありませんが、これで”iris”データが読み込まれました。
基本パッケージである「datasets」に含まれている。
library(datasets)
data(package = "datasets")
とすれば、datasetsパッケージに含まれるデータ一覧が表示される。
以下のように入力すると、データの概要がわかります。
dim(iris) #irisデータセットの行数と列数を表示する
## [1] 150 5
str(iris) #irisデータの構造を表示する。
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
summary(iris) #irisデータの列毎の集計値を表示する
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :50
## versicolor:50
## virginica :50
##
##
##
head(iris) #データの最初6行を表示する
## 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
Rの命令の基本構造は、 関数(データ, 諸条件) となっている。 以下のように命令すると、irisデータの1〜4列目(Sepal Length, Sepal Width, Petal Length, Petal Width)のそれぞれの平均値、中央値が出力される。
#平均値
mean(iris[,1])
## [1] 5.843333
mean(iris[,2])
## [1] 3.057333
mean(iris[,3])
## [1] 3.758
mean(iris[,4])
## [1] 1.199333
#中央値
median(iris[,1])
## [1] 5.8
median(iris[,2])
## [1] 3
median(iris[,3])
## [1] 4.35
median(iris[,4])
## [1] 1.3
iris[, 1]で1列目のデータのみ指定できる。 iris\(Sepal.Lengthとしても同じデータを指定できる。(ex. mean(iris\)Sepal.Length)) iris[1, ]であれば1行目のデータのみ指定。 一般化すると、data[行, 列]という構造になっている。
max(iris[,1]) #最大値
## [1] 7.9
min(iris[,1]) #最小値
## [1] 4.3
quantile(iris$Sepal.Length, 0.25) #第1四分位数
## 25%
## 5.1
quantile(iris$Sepal.Length, 0.75) #第3四分位数
## 75%
## 6.4
# Sepal.Lengthの四分位範囲を計算する
q <- quantile(iris$Sepal.Length, c(0.25, 0.75), na.rm = TRUE)
q[2] - q[1]
## 75%
## 1.3
var(iris$Sepal.Length, na.rm = TRUE) #分散
## [1] 0.6856935
sd(iris$Sepal.Length, na.rm = TRUE) #標準偏差
## [1] 0.8280661
na.rm = TRUEオプションは、NA値を含む行を無視するように指示。
hist(iris[,1])
hist(iris[,1], breaks = "Sturges", main = "Sepal Length", xlab = "Length (cm)")
boxplot(iris[,1])
boxplot(iris[,1], main = "Sepal Length Boxplot", ylab = "Length (cm)")
boxplot(Petal.Length ~ Species, data = iris, main = "Petal Length by Species", xlab = "Species", ylab = "Petal Length")
plot(iris$Sepal.Length, iris$Sepal.Width, main = "Sepal Length vs. Sepal Width", xlab = "Length (cm)", ylab = "Width (cm)")
ggplot2ライブラリーというグラフ描画に優れたライブラリーを利用して描画することも可能。 ggplot()が描画するデータを指定し、そこに”+”で描画のための情報を追加していく。 aes: “ aesthetics”の略称。x軸にはSepal.Length、y軸にはSepal.Widthを使用。 geom_point: 散布図であることを指定。 Labs: ラベルの情報指定。
install.packages("ggplot2",dep=T,repos = 'http://cran.us.r-project.org')
##
## The downloaded binary packages are in
## /var/folders/nm/m79f0x2d79768ww18g9h71340000gp/T//RtmpWfoIZz/downloaded_packages
library(ggplot2)
ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width)) +geom_point() + labs(title = "Sepal Length vs. Sepal Width",
x = "Length(cm)", y = "Width(cm)")
種類で色分けしたいときは以下。
ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
labs(title = "Scatterplot of Sepal Length and Width",
x = "Sepal Length", y = "Sepal Width",
color = "Species")
Windowsの場合は、文字化けしないが、Macは文字化けする。
#標準グラフ描画の場合
par(family = "HiraKakuProN-W3")
とグラフを描く命令コードの前に実行する。
theme_set( theme_bw(base_family = "HiraKakuProN-W3"))
とグラフを描く命令コードの前に実行する。
par(family = "HiraKakuProN-W3")
plot(iris$Sepal.Length, iris$Sepal.Width, main = "ガクの長さと幅", xlab = "Length (cm)", ylab = "Width (cm)")
theme_set( theme_bw(base_family = "HiraKakuProN-W3"))
ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +geom_point() +labs(title = "ガクの長さと幅",x = "Sepal Length", y = "Sepal Width",color = "Species")
あらかじめ
getwd()
## [1] "/Users/aonoa1"
として、出力された場所(Rのワーキングディレクトリ)に,ファイルiris.csvを置く。
data<-read.csv("iris.csv", header=T, row.names=1)
もしくは、ファイルパスを”“内に入れる。
irisデータ全体を選択してコピー
コピーした状態のまま
Rの画面に,
#data<-read.table("clipboard", header=T, row.names=1)
と打ち込む。(#は各自で外す。) あるいは、手順1以前にRコンソールにコピペして、実行しない状態にしておく。
エンターキーを押してコードを実行する。
head(data)
## 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
として、データが読み込めたか確認する。 -head(iris)とした状態と同じ状態になればOK
irisデータ全体を選択してコピー
コピーした状態のまま
Rの画面に,
#data<-read.table(pipe("pbpaste"),header=T, row.names=1)
と打ち込む。(#は各自で外す。)
あるいは、手順1以前にRコンソールにコピペして、実行しない状態にしておく。
エンターキーを押してコードを実行する。
head(data)
## 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
として、データが読み込めたか確認する。 -head(iris)とした状態と同じ状態になればOK