1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【UiPath】はなっち!の度数分布表アクティビティ(その2)

Posted at

皆もすなるQiitaといふものを、儂もしてみむとてするなり。

と言う訳で、こん**は!はなっち!です。

この記事はUiPathブログ発信チャレンジ2023サマーの13日目の記事です。

【初めに】
前回は、はなっち!の度数分布表アクティビティの基本的な使い方の紹介をお届けしました。

今回は、はなっち!の度数分布表アクティビティには他にもアクティビティを提供しており、ご紹介しようと思います。


1)はなっち!の度数分布表アクティビティの他のアクティビティ

はなっち!の度数分布表アクティビティには、以下のアクティビティが存在しています。

アクティビティ名 説明 紹介
度数分布表 度数分布表を作成する その1
最大値最小値を求める 対象列の最大値、最小値を求める 今回
階級を求める 度数分布表の階級値を求める 今回

1-1)「最大値最小値を求める」アクティビティ

100点満点の試験の結果を度数分布表として求める際に使用する得点の範囲は0点~100点と幅が決まっており、階級値は、自ずと{0点,10点(,20点...),90点,100点}と決められますが、どのような値が推測できないような場合、最小値最大値を求め、値の傾向をつかんだ方が、綺麗な度数分布表が作成できると思います。

「最大値最小値を求める」アクティビティは、その最小値最大値を求めるためものです。

  • まずはドラッグ アンド ドロップしてみましょう。
    image.png
  • 引数の説明
    ここでは、設定項目を表にまとめてあります。項目名が太字の項目が重要な項目となります。
項目名 属性 説明
計測データ DataTable 測定対象とするデータテーブル
測定列名 String 度数分布を計測する対象列名
最大値 Double 有効データ中の最大値
最小値 Double 有効データ中の最大値
有効データ数 Int32 階級として数値変換できたデータ件数
数値外データ数 Int32 階級として数値変換できなかったデータ件数
  • 設定の例
    image.png

  • 実行結果
    簡単にみせるため、最大値最小値を、「メッセージ ボックス」アクティビティにて表示してみましょう。

下図は、EXCELのPivot機能で求めた、化学の最大値最小値です。
image.png
一致していますね。

1-2)「階級を求める」アクティビティ

対象とするデータの最大値最小値がわかりました。そのデータから度数分布表を作成する際の階級は、どんな値を設定すればいいのか。

その最大値最小値から階級を求めるためのアクティビティです。

  • まずはドラッグ アンド ドロップしてみましょう。
    image.png
  • 引数の説明
    ここでは、設定項目を表にまとめてあります。項目名が太字の項目が重要な項目となります。
項目名 属性 説明
最大値 Double 有効データ中の最大値
最大値 Double 有効データ中の最小値
階級数 Int32 階級としての数
階級 Double[] 階級値
  • 設定の例
    最小値から最大値まで、3階級にて階級値を求める
    image.png

  • 実行結果
    簡単にみせるため、求められた階級値を、「メッセージ ボックス」アクティビティにて表示してみましょう。

String.Join(ControlChars.Lf, CLASSes.Reverse)

※3階級としても4階級見えてしまうのは、最大値として1つの階級としてしまうからです。仕様です!

1-3)「度数分布表」アクティビティ

自動算出した階級値を使って、度数分布表を作ってみました。当然のことながら、階級は小数点を保有しているので、見にくくなっています。

image.png

1-4)階級を綺麗にする

「階級を求める」アクティビティを使用すると、最小値最大値から、単純に計算しているだけなので、小数点を持つ階級が出てしまいましたね。

見栄えも悪いので、これを綺麗にしていきましょう。

「度数分布表」アクティビティ階級の属性は、Double型配列ですので、綺麗にした結果もDouble型配列でなければなりません。

ここは、Linqを使って、やってみましょう。

  • Int32型にキャストし、更にDouble型にキャストする。
CLASSes ← (CLASSes
    .Select(Function(d) CInt(d)).ToArray())
    .Select(Function(i) CDbl(i)).ToArray()

image.pngimage.png
小数点以下は、四捨五入されています。

  • Int32型にキャストする際、指定した基準値の倍数に近い値で切り捨てし、その後Double型にキャストする。
CLASSes ← (CLASSes
    .Select(Function(d) CInt(Math.Floor(d))).ToArray())
    .Select(Function(i) CDbl(i)).ToArray()

image.pngimage.png
小数点以下は、切り捨てられています。

  • Int32型にキャストする際、指定した基準値の倍数で最も近い値に切り上げし、その後Double型にキャストする。
CLASSes ← (CLASSes
    .Select(Function(d) CInt(Math.Ceiling(d))).ToArray())
    .Select(Function(i) CDbl(i)).ToArray()

image.pngimage.png
小数点以下は、切り上げられています。

  • 小数点1桁まで有効にしたい!
CLASSes ← (CLASSes
    .Select(Function(d) CInt(d * 10)).ToArray())
    .Select(Function(i) CDbl(i / 10)).ToArray()

image.pngimage.png

10倍してから、10で割っているので、小数点1桁までが階級となっています。

「度数分布表」アクティビティの結果
image.png


おわりに

いかがでした?

今回も読んでいただきありがとうございました!
是非UiPathでのロボ開発の一助になればと思っています。

ありがとうございました!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?