必要なパッケージ

require(tidyverse)
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'tidyverse'
require(plotly)

小レポート課題

課題1

ポアソン分布の確率変数の数式 \[ P(x) = \frac{\lambda^x e^{-\lambda}}{x!} \] をR言語で記述し、\(\lambda = 4\)、および、\(x = 3\)のときの確率\(P(x)\)の値を求めよ。

解答

# 自分で書いてみましょう
lambda<-4
x<-3
(lambda^x)*exp(-lambda)/factorial(x)
## [1] 0.1953668

課題2

授業で用いたイネのデータセット(rice.csv)について、6つのサブグループ(ADMIX、AROMATIC、AUS、IND、TEJ、TRJ)それぞれについて、種子長(Seed.length)の平均を求めよ。

ヒント

まず、データセット(rice.csv)を読み込む必要がある。

# csvファイルの読み込み
rp <- read.csv("rice.csv", row.names = 1, stringsAsFactors = T) 

このあと、講義で用いた関数を使うと計算できる。

解答

# 自分で書いてみましょう
rp<-read.csv("rice.csv",row.names=1,stringsAsFactors = TRUE)
required.vars<-c("Sub.population","Seed.length")
rp.seed<-rp[,required.vars]
by(rp.seed$Seed.length,rp.seed$Sub.population,mean,na.rm=TRUE)
## rp.seed$Sub.population: ADMIX
## [1] 8.643586
## ------------------------------------------------------------ 
## rp.seed$Sub.population: AROMATIC
## [1] 9.325256
## ------------------------------------------------------------ 
## rp.seed$Sub.population: AUS
## [1] 8.030342
## ------------------------------------------------------------ 
## rp.seed$Sub.population: IND
## [1] 8.223066
## ------------------------------------------------------------ 
## rp.seed$Sub.population: TEJ
## [1] 7.83912
## ------------------------------------------------------------ 
## rp.seed$Sub.population: TRJ
## [1] 9.040635

課題3

イネのデータセット(rice.csv)をもとに、6つのサブグループ(ADMIX, AROMATIC, AUS, IND, TEJ, TRJ)について、種子長(Seed.length)の箱ひげ図を描け。

  1. 草丈(Plant.height)、種子長(Seed.length)、種子幅(Seed.width)の3つの変数について、pairs関数を用いて総当りの散布図を描け。散布点は、色付けしなくてもよい。

ヒント

課題2で読み込んでいる*rp$を用いる。

rp <- read.csv("rice.csv", row.names = 1, stringsAsFactors = T) # csvファイルの読み込み

解答

# 自分で書いてみましょう
plot(y=rp$Seed.length,x=rp$Sub.population,type=box)

  1. 図を描く前に3つの変数をdata.frameにまとめる必要がある。
required.vars <- c("Plant.height", "Seed.length", "Seed.width")
# 自分で書いてみましょう
required.vars2<- c("Plant.height", "Seed.length", "Seed.width")
df<-rp[,required.vars2]
pairs(df)


課題4

  1. パッケージplotlyを用いて、種子長(Seed.length)、種子幅(Seed.width)について2次元の散布図を描け。散布点は、6つのサブグループ(ADMIX、AROMATIC、AUS、IND、TEJ、TRJ)をもとに色付けして示せ。

  2. TRJグループにおけるの種子長(Seed.length)の最大値はいくらか。plot_ly関数を用いて描かれた1の図をもとに答えよ。

ヒント

課題3で作成したデータrpを用いる。

2は、plot_ly関数で描かれた散布図の点にマウスポインタを合わせると、値が示されるのでそこから読み取る。

解答

# 自分で書いてみましょう
plot_ly(x=rp$Seed.length,y=rp$Seed.width,color=rp$Sub.population,text=rp$Accession.Name,type="scatter",mode="markers")
## Warning: Ignoring 36 observations
  1. 最大値は「10.29484」