Rで栄養計算(3)

「FoodCompositionJapan」パッケージで、栄養価を計算する方法をまとめています。

栄養価計算をする

データの準備を含め、栄養価を計算していきます。

食事のデータを用意する

栄養価の計算には、計算したい食事を構成する食品の食品番号と重量が必要で、これらをデータフレーム形式で作成する必要があります。 その際、列名は、food_numberとweightと指定されています。 1日のデータと複数日のデータで少し異なるので、順に説明します。

1日分のデータ

1日のデータは普通にデータフレームを作成するだけです。


            ## 1日分のデータ作成
            1日分のデータを作成します。
            ```{r}
            food_number01 = c("01001", "02001", "03001", "04001", "05001", "06001", "07001", "08001", "09001")
            weight01 = c(10, 20, 30, 40, 50, 60, 70, 80, 90)
            sample_meal_day1 = data.frame(food_number = food_number01, weight = weight01)
            ```
          

複数日分のデータ

複数日のデータは、1日分のデータを複数用意し、リスト形式にまとめます。


            ## 複数日分のデータ作成
            データフレームでリストを作成します。
            ```{r}
            food_number02 = c("10001", "11001", "12001", "13001", "14001", "15001", "16001", "17001", "18001")
            weight02 = c(100, 110, 122, 130, 140, 150, 160, 170, 180)
            sample_meal_day2 = data.frame(food_number = food_number02, weight = weight02)
            sample_meal_multiple = list(sample_meal_day1, sample_meal_day2)
            ```
          

できあがったリストは以下のような構成になります。


            > sample_meal_multiple
            [[1]]
             food_number weight
            1 01001 10
            2 02001 20
            3 03001 30
            4 04001 40
            5 05001 50
            6 06001 60
            7 07001 70
            8 08001 80
            9 09001 90

            [[2]]
             food_number weight
            1 10001 100
            2 11001 110
            3 12001 122
            4 13001 130
            5 14001 140
            6 15001 150
            7 16001 160
            8 17001 170
            9 18001 180
          

栄養価を計算する

用意した食事のデータから栄養価計算を行います。

1日分の栄養価計算

1日分のデータの栄養価計算には、calcNutrient()関数を用います。


            ## 1日分の栄養価計算
            1日分の栄養価計算を行います。
            ```{r}
            ret02 = calcNutrient(food_list = sample_meal_day1)
            ```
          
  • food_list: food_numberとweightを列名とする食品のデータフレームを指定します。

複数日分の栄養価計算

複数日分のデータの栄養価計算には、calcNutrientMultipledays()関数を用います。


            ## 複数日分の栄養価計算
            複数日分の栄養価計算を行います。
            ```{r}
            ret03 = calcNutrientMultipledays(food_list_multiple = sample_meal_multiple)
            ```
          
  • food_list_multiple: food_numberとweightを列名とする食品のデータフレームのリストを指定します。

返ってくる結果の形式は、1日のものと同じですが、こちらでは複数日の平均が返ってきます。 個々の日にちについての結果を求める場合は、下記の方法が有効です。


            ## 日にちごとの結果を求める
            複数日分のデータを用いた際に、個々の日にち別に結果を求める。
            ```{r}
            ret04 = sapply(
             X = sample_meal_multiple,
             FUN = calcNutrient
            )
            ```