ダイズ地上部乾物重データ

ダイズの植物体に圃場環境の不均一性がどのように現れるかの実験

1971年に、長野県塩尻市 にある中信試験場(現在は,長野県野菜・花卉試験 場)で実施された。一枚の圃場(南北約 8m、東西約 18m)で、畝は南北に作 り、畝間は約75cm、株間は約15cmの間隔に作られた植穴に2粒ずつ播種し、間 引きと補植で1本仕立てにした。各個体は、根際で切断され、地上部を乾燥し た後、地上部全重(g)、粒重(g)、主茎長(cm)、分枝数(本)の4形質が測定され た。

今回使用するデータは、その北西部分にあたる12畝、25株の地上部全重デー タをそれらの位置に対応して並べたものである。すなわち、データ行 列 の左側と上側は道路に面しているが、右側と下側は他のダイズ個体に面し ていた。

データダウンロード <./bio/data/daizu.csv>

ダイズデータ読み込み

    daizu.df <- read.csv("bio/data/daizu.csv")     # daizu.csv ファイル読み込み
    dim(daizu.df)                # データの大きさ
## [1] 25 12
    head(daizu.df)               # 最初の一部の行のみを表示
##   ridge1 ridge2 ridge3 ridge4 ridge5 ridge6 ridge7 ridge8 ridge9 ridge10
## 1    176    171    173    194     NA    130    168    143    100     167
## 2    119     75     83    154    140    125     99    106    109      85
## 3    101    107     69     77    103    107     76     70     73      74
## 4     77     90    103     46     85     62     75     83     68      68
## 5     75     81     69     75     44     59     51     76     58      84
## 6     77     70     62     10     40     58     66     28     62      71
##   ridge11 ridge12
## 1     160     134
## 2     110      44
## 3      84      70
## 4      53      71
## 5      58      73
## 6      62      48

daizu.dfはdata.frameなので行列に変換する

    daizu.mat <- as.matrix(daizu.df)

ベクトル化

1次元数値データにする

    daizu <- as.vector(daizu.mat)
    length(daizu)
## [1] 300
    summary(daizu)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    1.00   54.00   65.00   67.68   75.00  194.00       2

欠測値の処理

NA(Not Avairable) が含まれていると計算してくれないので、 NA部分を除く(remove)という命令、na.rm=Tを付け加える必要がある。

    mean(daizu)
## [1] NA
    mean(daizu, na.rm=T)
## [1] 67.68121
    sd(daizu, na.rm=T)
## [1] 26.1403

ダイズデータの箱ヒゲ図

    boxplot(daizu)
    title(main="ダイズデータの箱ひげ図")

ダイズデータを頻度表

    hist(daizu, breaks=seq(0, 200, by=5), main="ダイズデータの頻度表")

ダイズデータの行平均や列平均を求る。

これは、apply()関数を用いる。 - mean の他に max, sum, sd, など色々な操作もできる。 - na.rm=T も忘れずに入れる。

    rowmean <- apply(daizu.df, 1, mean, na.rm=T); rowmean       # 行平均
##  [1] 156.00000 104.08333  84.25000  73.41667  66.91667  54.50000  66.83333
##  [8]  57.91667  64.00000  60.75000  62.25000  60.54545  61.08333  61.00000
## [15]  61.83333  55.50000  60.08333  63.33333  62.16667  59.00000  58.66667
## [22]  55.33333  54.83333  64.83333  69.66667
    colmean <- apply(daizu.df, 2, mean, na.rm=T); colmean       # 列平均
##  ridge1  ridge2  ridge3  ridge4  ridge5  ridge6  ridge7  ridge8  ridge9 ridge10 
##  78.360  76.720  71.200  68.120  64.000  67.640  66.160  62.040  62.640  65.625 
## ridge11 ridge12 
##  67.520  61.920

    plot(rowmean, type="b", col="blue") 

    plot(colmean, type="b", col="red")

$ = _i X_i/n $

\[ \begin{array}{ccc} x & y & z \\ a & b & c \\ \end{array} \]