【機能追加】R言語 × 日本食品標準成分表に食事データ作成に便利な関数を追加しました

R言語

みなさん,こんにちは.
シンノユウキ(shinno1993)です.

以前の記事で「FoodCompotitionInJapan」というR言語で日本の食品成分表を扱えるパッケージに栄養価計算機能を追加したことを紹介しました.

今回はそれに加えて,食品をメニュー画面から選ぶような機能も追加しましたので紹介します.

パッケージの使い方

以前の記事と重複しますが再掲します.
パッケージは,Githubに公開しています.

これをダウンロードし,使っていきます.
devtoolsというライブラリを使用しすると便利です.以下のコードでダウンロード・インストールをします.

library(devtools)
install_github("yuki-shinno/FoodCompositionJapan")
library(FoodCompositionInJapan)

その他,基本的な使い方などは以前の記事をご覧ください.

栄養価計算を行うためのデータ

栄養価計算を行うためには,列名をfood_numberweightとする食事のデータフレームが必要です.以下のような形式になります:

このようなデータフレームは,Excelファイルなどからインポートすると便利です.コードから作成する場合は以下のようなコードになります:

food_number = c("01001", "02001", "03001", "04001", "05001", "06001", "07001", "08001", "09001")
weight = c(10, 20, 30, 40, 50, 60, 70, 80, 90)
sample_meal_day1 <- data.frame(food_number = food_number, weight = weight)

ただし,このようなコードだと,食品番号を知っておかないとデータを作成できませんので不便に感じるかもしれません.Rの環境でデータを作成したいという場面もあるでしょう.そこで,今回はそれらのデータ作成を支援するための関数を作成しましたので紹介します.

栄養価計算用の食事データを作成する際に便利な関数

createMeal():食事データの雛形を作成する

先でも紹介しましたが,栄養価計算用の食事データを作成するためには,食品番号(food_number) とその重量(weight) からなるデータフレームが必要です.そのデータフレームの雛形を作るのが関数:createMeal() です.

以下のように使用します:

my_meal <- createMeal()

実行すると以下のような空のデータフレームが作成されます.これに食品データを追加していくとよいでしょう.

なお,栄養計算の際には food_numberweight だけで十分なのですが, food_and_description があったほうが何かと便利だと思いますので,その項目も追加しています.食品データを作成する際などはこのデータはあってもなくても大丈夫です.

createFood():食品データを作成する

次は食品データを作成するための関数:createFood() を紹介します.以下のように使用します.

my_food <- createFood(
  food_number = '01001',
  weight = 100
)
  • food_number:食品番号を指定します.文字列で入力してください.'01001' のようになります.
  • weight:食品の重量を指定します.こちらは数値形式で入力してください.100 のようになります.

上記のコードを実行すると,以下のような食品データが生成されます:

このような食品データを組み合わせて食事データを作成していきます.

createFoodBySelect():メニュー画面で食品データを作成する

関数:createFoodBySelect() は,食品データの作成をメニュー画面で行えるようにするためのものです.以下のように使用します:

my_food <- createFoodBySelect()

このコードは以下のようなステップで食品データを作成していきます:

  1. 食品群を選択
  2. 食品名を選択
  3. 重量を入力

コードを実行すると,まず以下のような食品群を選択する画面が表示されます.これで該当する食品群を選択します:

選択した食品群に該当する食品がリストに表示されます.目的の食品を選択してください:

次は,重量を入力します.コマンドラインにて重量を入力してください:

これで食品データを作成することができます.

createFoodBySearch():メニュー画面+検索で食品データを作成する

関数:createFoodBySearch() は,メニュー画面と検索キーワードを組み合わせて食品データを作成する関数です.以下のように使用します:

my_food <- createFoodBySearch()

このコードは以下のようなステップで食品データを作成していきます:

  1. 食品群を選択
  2. 検索したいキーワードを入力
  3. キーワードに合致した食品の中から食品名を選択
  4. 重量を入力

コードを実行すると以下のように食品群を選択するメニューが表示されます.検索したい食品群を一つ選択してください:

次に検索したいキーワードをコマンドラインで入力してください:

検索キーワードに合致する食品の一覧が表示されます.該当の食品名を1つ選択してください:

最後に重量を入力します.これで食品データが作成されます:

addFoodToMeal():食事データに食品データを追加する

関数:addFoodToMeal() は,食事データに食品データを追加するものです.以下のように使用します:

my_meal <- createMeal()
my_food <- createFood(
  food_number = '01001',
  weight = 100
)
my_meal <- addFoodToMeal(
  meal = my_meal,
  food = my_food
)

ただただ食事データに食品データをくっつけているだけです.
使用は必須ではなく,必要に応じて使用してください.

まとめ

今回はR言語で日本食品標準成分表が扱えるパッケージ:「FoodCompotitionJapan」で,栄養価計算用データを作成する際に便利な関数を紹介しました.Excelなどからインポートすると便利ですが,用途に応じて使用してください.

連載目次

  1. R言語で日本食品標準成分表を使えるパッケージを作成しました
  2. 【機能追加】R言語 × 日本食品標準成分表に栄養計算機能を追加しました
  3. 【機能追加】R言語 × 日本食品標準成分表に食事データ作成に便利な関数を追加しました現在のページ
タイトルとURLをコピーしました