データのお砂場(142) R言語、flower、お花の特徴、{cluster}

Joseph Halfmoon

前回は極北の大地の土壌の奥の方の元素成分データでした。今回は土壌の上に育つ植物、それも「お花」をつける草本どもの特徴についてのサンプルデータセットです。育つ土壌もその特徴の中に入っております。ただし具体的なお花のお名前は排除されております。1番とか2番とか数字だけ。お花ではなく、その処理に集中しろと?

※「データのお砂場」投稿順Indexはこちら

※使用させていただいている Rのversionは 4.3.1。RStudioは 2024.04.2+764 “Chocolate Cosmos” です。

Flower Characteristics

今回のサンプルデータセットの解説ページが以下に。

https://stat.ethz.ch/R-manual/R-patched/library/cluster/html/flower.html

18種類のお花をつける植物(草)を8つの変数でその特徴を記述したサンプル・データ・セットです。草花のお名前はなく番号、そして各変数名もV1からV8と「無味乾燥」デス。このままではお惚け老人が楽しみにしているサンプル・データ・セットの「背景調査」できんじゃんと思いましたが、「取り付く島」は残っておりましたぞ。

さすがに各変数V1からV8ではあんまりだ、ということでそれぞれの説明がありました。せいぜい1行程度の短いもんですが。

    1. V1、winters
    2. V2、shadow
    3. V3、tubers
    4. V4、color
    5. V5、soil
    6. V6、preference
    7. V7、height
    8. V8、distance

第1の変数は、冬越しについての項目です。庭に出したままにしていても(地下に隠れているものから復活する?)良いかどうかのバイナリデータです。ただね、冬といっても地域によって温度は段違いっす。このサンプルデータがどのような地域を念頭においているのかは不明。

雑草とハチやらアリやらと常時対峙している田舎ずまいのお惚け老人ですが、草花に執着なく、その生育方法についての知識は皆無であります。調べてみたところ『PROVEN WINNERS』様の以下のページをみると草花の冬越しについての基礎知識がかかれてました。

ガーデニング冬越し対策のポイントと冬のお手入れ

最低気温がポイントだということは聞いたことがありましたが、いろいろあるようで。バイナリで分類するのは粗すぎではないかな。

第2の変数は、生育に適するのが日蔭なのか日なたなのかの項目です。これまたバイナリ。しかし、『NHK出版 みんなの趣味の園芸』様の以下のページを拝見すると、「日陰といってもいろいろあり」ということが納得されます。細かくいうとバイナリではないな。これまた。

日陰で育てられるおすすめの植物 34種類!

第3の変数は、「塊茎」で増えるか否かのバイナリ。植物素人のお惚け老人は「塊茎」なる概念をしらず。『一般社団法人 日本植物生理学会』様の以下のQ&Aページを拝見してようやく理解しましたぞ。

根茎と塊茎の違い

端的な例を言うと、ジャガイモは茎であり「塊茎」。サツマイモは根なので「塊根」と称するようです。なお「根茎」という言葉は塊茎をさしていることもあるみたいですが、どうも曖昧な言葉みたいっす。根なんだか茎なんだかハッキリしろいっと。なお、茎(地下茎)と根をどう判断するかは、外見ではよくわからず、断面の「木部と師部の配置」から判別できるのだそうです。植物学素人老人は目から鱗。

第4の変数はお花の色です。各色について数字を割り当ててます。これまた無味乾燥なるべしと。『お花の写真集』様の以下のページで色別にまとめられていたので、データセットにお名前が書いてあれば現物を見てなっとくできたやもしれませぬ。

季節と色で花探し

第5の変数は土壌、というより生育に適する土壌の水分量です。サンプルデータのこの項目は、ざっくり。乾いた、普通、湿ったくらいの3段階記述。しかし土壌水分量については奥が深いことが分かりましたぞ。『施設園芸.com』様の以下のページを拝見すると植物に適する土壌水分についてまとめられてます。

水やりで失敗しない!土壌水分の基礎知識

上記をみるとそんな3段階でいいのかと思ってしまいます。なお、上記では土壌水分量を論じるのに 「pF値」という値が登場。どうも単なる水分の量ではなく、土壌と水との結合力を勘案して、どれだけ植物が吸い取り易いかをしめす量みたいです。これについては『土づくり推進機構』様の以下の文書に説明がありました。

土壌水分について

土壌水分量計というものの存在は認識しておるのですが、測定原理に何やら怪しいところがあるのでいままで手を出していなかったのです。しかし、『メータージャパン株式会社』様の以下のページを拝見すると、「一筋縄でいかない土壌水分量」の測定について理解できます。

土壌水分センサーとその仕組み

ここまでくると、レジスタンスやキャパシタンスといった世界に入ってくるので、お惚け老人にもようやく理解できる世界です。こんど庭で実験してみるか?

第6のpreferenceは、皆さまのお好みのランキングみたいなので、お惚け老人がどうこういう余地はありません。それにお花の名前が数字では、このランキングはクラスタリング以外には使えんような。。。

第7のheightは植物の高さ[cm]です。そのままね。

第8のdistanceは、植物を植えるときの「株間」距離[cm]みたいです。これについては、『防草シート.com』様の以下の記事を拝見させていただきました。

知ってると便利!植栽密度と植栽間隔の計算方法

どうもガーデニング関係?では、植物種ごとに「植栽密度」は「1平米あたりx株」といった形で提示されるのだそうです。でも1平米あたりx株といわれても株と株との距離は何cmにしたら良いの?という疑問を持つ方が多いらしく、そのような方向けに「計算方法」と「その証明」、ついでに早見表など提示してくれています。なかなか便利。

上記の記述を見ると、どうもガーデニング関係?では「R言語」を使用することは一般的でないみたいっす。以下、植栽間隔[cm]から植栽密度[1平米あたり株数]を計算するplantingDensity関数と、植栽密度[1平米あたり株数]から植栽間隔[cm]を求めるplantSpacing関数をR言語で定義してみましたぞ。plantingDensityFunc

 

これで計算は一撃。わざわざRで計算する人もいないか。

先ずは生データ

生データをロードしたところが以下に。flowerRawData

データの全貌が以下に。flowerRawData2

お花のお名前は1~18の数字、特徴はV1からV8。まっこと無味乾燥デス。

処理例

今回のサンプルデータには処理例の記載あり。上記のデータではあまりに無味乾燥すぎると「中の人」が思ったのか、以下のように「Nice」に変換するのが処理例でした。flowerNicerVersion

各段に分かりやすい気がする。後はお花の名前が分かればもっと興味がわくのになあ。それは統計の勉強には関係ないっということか。

なお以下のようにすると

example(daisy)

このflowerサンプルデータを使って daisy関数適用する例がごちゃまんと出力されます。その先頭部分が以下に。Example_daisy

クラスタリング

クラスタリング練習用のサンプルデータなので、以下のようにアグネス様にお願してデンドログラム化してみました。ほんとは各変数がバイナリなのか、大小関係があるのか無いのか、いろいろ勘案して距離を計算すべきなのだろうけど、全部 agnesにお任せ。

plot(agnes(flower), ask = TRUE)

結果はこんな感じ。flowerAgnes

やっぱりお花のお名前(+写真)が分からんと何だかわかんよな。。。

データのお砂場(141) R言語、chorSub、C土壌層の元素含有量{cluster} へ戻る

データのお砂場(143) R言語、plantTraits、植物の特徴、{cluster} へ進む