この記事の概要
KNIME(ナイム)のMath Formular(マスフォーミュラー)について解説しています。
Math Fotmularは四則演算や関数計算など計算を行う際に使用するノードです。
他にも三角関数や論理和などの関数が使えます。
表計算の基本となるノードになります。
そのほかの代表的なノードの一覧はこちら。
計算したい。ただひたすらに
目次[非表示]
Math Formular(マスフォーミュラー)の使い方
エクセルは表計算ソフトなのでやはり計算ができないと意味がないわけです。
そんじゃあKNIMEではどうやるのかというと
Math Formular(マスフォーミュラー)というノードを使って計算できます。
セルを計算するならMath Formular
下にMath Formular(マスフォーミュラー)の入出力結果を示します。
X値とY値に対してX+Yの値を結果が追加されています。
このように関数を用いた計算結果のカラムを右端に追加となります。
計算する前にはデータの型に注意
Math Formular(マスフォーミュラー)を使う場合はデータの型に注意する必要があります!
良くあるミスとしてデータの型がString型ではMath Formularでは使用できません。
Int型やDouble型に変更する必要があります。
データの型を変更する場合はString to Number(ストリングトゥーナンバー)のノードを使用します。
データの型について簡単に解説すると
String型:文字列のデータを扱う型
Int型:整数を扱う型(文字は含まない)
Double型:小数点を扱う型(文字は含まない)
これとは別にLong型というのがありますがこれはDouble型と同じく少数点を扱うデータの型です。
Math Formularで計算する際はデータの型をIntもしくはDouble型に変更してから
入力すると良いでしょう。
Configure(設定)画面について
設定(Configure)画面について解説をしていくぅ!
画面は至ってシンプル!
左上のColumn Listから計算に使用するカラム(列)を選択します。
ダブルクリックすると中央下のExpressionに追加されます。
ここには入力したテーブルデータの中でInt型/Double型/Long型のカラムのみ表示されます。
ここに計算したいカラムが入っていない場合はString to Numberノードなどを使って
カラムのデータ型をDouble型やInt型に変更しましょう。
Functionから関数を選択しダブルクリックするとEXpression欄に追加されます。
エクセルで使われる記号はほぼそのまま使えます。
+:足し算
-:引き算
*:掛け算
/:割り算
などです。
あとは求めたい数式のとおりExpressionの中の式を組み立てるだけです。
Append Columnを選択するとカラム(列)を新規に追加し、名称を決めます。
Replace Columnを選択すると既存のカラム(列)を選ぶことでデータを置き換えることができます。
Conver Intにチェックを入れると小数点を含む数字を四捨五入しすべて整数に変換します。
入力したテーブルのカラムの他にもデフォルトで入っているものがあります。
それは「ROWINDEX」と「ROWCOUNT」です。
それぞれ下記に解説します。
ROWINDEX:
ROW(行)の総数をすべてのROW(行)に入力します。
たとえば行数が100のデータの場合、ROWINDEXは100になり
全行100という数字が入ります。
ROWCOUNT:
ROW(行)のカウントをします。
一番上の行を0として上から順番に1,2,3と増えていき行数に応じた数字が入ります。
例えば行数が100の場合一番上が0,その次が1となり一番下の行が99となります。
様々な数式、関数たち
四則演算は基本ですがほかの様々な関数についても見ていきましょう。
エクセルでは=LOG(8)などと入力しますがKNIMEではlog(8)となります。
- 円周率:pi(3.1315...)
- 自然対数の底:e(2.718...)
- 自然対数:ln(x)
- 常用対数:log(x)
- eに対する指数関数:exp(x)
- 指数関数xのy乗 :pow(x,y)
- 平方根√:sqrt(x)
- 三角関数各種:sin(x),cos(x),tan(x)
- 逆三角関数、双曲線関数:asin(x),shinh(x)などなど・・・
- 四捨五入:round(x)
- 論理積、論理和:x&&y , x||y
他にもたくさんの関数がありますのでDesicriptionの説明を見たり
実際に関数を使ってみて確認してみてください。
1ノードにつき計算結果は1つまで
1つのノードで生成できるカラム(計算結果)は1つまでです。
なので「X+Y」と「X-Y」などの複数の計算結果が欲しい場合は
計算結果の個数分ノードが必要となります。
高機能かつ便利ですが、高機能ゆえに何の処理をしているか後から見返したときに
分かりづらくなります。
なので最初のうちはMath Formularを使うのが良いでしょう。
あとがき
最近本当に暑いですね!!
暑さのせいと仕事の忙しさで6月に上げようと思っていた記事が7月になってしまいました…。
うーんなんとか仕事が波に乗ればもう少しブログの時間も取れるのですが。
折角アクセスも増え始めたので頑張って続けていきたいところです。
皆さんは暑さに負けずに頑張って行きましょう。
それでは
0 件のコメント:
コメントを投稿
ここにコメントを書いてね!