みなさん,こんにちは。
シンノユウキ(shinno1993)です。
以前の記事で「FoodCompotitionInJapan」というR言語で日本の食品成分表を扱えるパッケージに栄養価計算機能を追加したことを紹介しました.
今回はそれに加えて,食品をメニュー画面から選ぶような機能も追加しましたので紹介します.
パッケージの使い方
以前の記事と重複しますが再掲します.
パッケージは,Githubに公開しています.
これをダウンロードし,使っていきます.
devtoolsというライブラリを使用しすると便利です.以下のコードでダウンロード・インストールをします.
library(devtools) install_github("yuki-shinno/FoodCompositionJapan", force=TRUE) library(FoodCompositionJapan)
その他,基本的な使い方などは以前の記事をご覧ください.
栄養価計算を行うためのデータ
栄養価計算を行うためには,列名をfood_number
とweight
とする食事のデータフレームが必要です.以下のような形式になります:
このようなデータフレームは,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_number
と weight
だけで十分なのですが, food_and_description
があったほうが何かと便利だと思いますので,その項目も追加しています.食品データを作成する際などはこのデータはあってもなくても大丈夫です.
createFood():食品データを作成する
次は食品データを作成するための関数:createFood() を紹介します.以下のように使用します.
my_food <- createFood( food_number = '01001', weight = 100 )
- food_number:食品番号を指定します.文字列で入力してください.
'01001'
のようになります. - weight:食品の重量を指定します.こちらは数値形式で入力してください.
100
のようになります.
上記のコードを実行すると,以下のような食品データが生成されます:
このような食品データを組み合わせて食事データを作成していきます.
createFoodBySelect():メニュー画面で食品データを作成する
関数:createFoodBySelect() は,食品データの作成をメニュー画面で行えるようにするためのものです.以下のように使用します:
my_food <- createFoodBySelect()
このコードは以下のようなステップで食品データを作成していきます:
- 食品群を選択
- 食品名を選択
- 重量を入力
コードを実行すると,まず以下のような食品群を選択する画面が表示されます.これで該当する食品群を選択します:
選択した食品群に該当する食品がリストに表示されます.目的の食品を選択してください:
次は,重量を入力します.コマンドラインにて重量を入力してください:
これで食品データを作成することができます.
createFoodBySearch():メニュー画面+検索で食品データを作成する
関数:createFoodBySearch() は,メニュー画面と検索キーワードを組み合わせて食品データを作成する関数です.以下のように使用します:
my_food <- createFoodBySearch()
このコードは以下のようなステップで食品データを作成していきます:
- 食品群を選択
- 検索したいキーワードを入力
- キーワードに合致した食品の中から食品名を選択
- 重量を入力
コードを実行すると以下のように食品群を選択するメニューが表示されます.検索したい食品群を一つ選択してください:
次に検索したいキーワードをコマンドラインで入力してください:
検索キーワードに合致する食品の一覧が表示されます.該当の食品名を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などからインポートすると便利ですが,用途に応じて使用してください.
連載目次
- R言語で日本食品標準成分表を使えるパッケージを作成しました
- 【機能追加】R言語 × 日本食品標準成分表に栄養計算機能を追加しました
- 【機能追加】R言語 × 日本食品標準成分表に食事データ作成に便利な関数を追加しました現在のページ