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

)

```