【发布时间】:2017-03-31 22:05:57
【问题描述】:
我正在制定膳食计划,我需要一些关于如何将每日摄入量分成几餐的建议。
我有一个向量,其中每个元素代表一个人应该吃的不同食物的克数,以满足他/她每天摄入的蛋白质、碳水化合物、脂肪、纤维等。
矢量看起来像这样:
intake <- Salmon Chicken Pesto Butter
162.573720 96.262731 48.415283 4.560707
Yoghurt Couscous Boiled Egg Apple
190.233090 518.741711 198.049714 0.000000
Avocado Broccoli Grapefruit Quark / Kesella Natural
0.000000 350.000000 0.000000 217.450103
Oatmeal
67.820707
这个长度是 13。 我还有一个矩阵 X,其中包含每种食物类型的所有营养成分,如下所示:
Salmon Chicken Pesto Butter Yoghurt Couscous Boiled Egg Apple Avocado Broccoli Grapefruit
protein 0.18 0.231 0.12740 0.004 0.0342 0.0379 0.1225 0.0000 0.0194 0.0350 0.007
fat 0.12 0.010 0.53850 0.820 0.0300 0.0016 0.0973 0.0005 0.1960 0.0027 0.001
carbs 0.00 0.000 0.04080 0.005 0.0484 0.2182 0.0040 0.1058 0.0170 0.0312 0.070
fibre 0.00 0.000 0.00218 0.000 0.0000 0.0140 0.0000 0.0232 0.0475 0.0310 0.019
Greens 0.00 0.000 0.00000 0.000 0.0000 0.0000 0.0000 0.0000 1.0000 1.0000 0.000
Quark / Kesella Natural Oatmeal
protein 0.127 0.133
fat 0.001 0.070
carbs 0.036 0.576
fibre 0.000 0.100
Greens 0.000 0.000
最后,我有 (0/1)- 表示食物来源是否被视为“早餐”的向量。 “午餐”、“晚餐”和“小吃”也是如此。
我想将向量“摄入量”拆分为一个人全天吃的饭菜。我的第一个想法是简单地采用摄入*早餐的点积来获得所有被认为是早餐的食物,然后吃掉它们。这种方法不能给出非常合理的答案,因为它可能会让位于早餐吃很多食物而剩下的饭菜几乎没有剩下的食物。
假设有人一天吃 5 顿饭;
我想将摄入向量拆分为 5 个单独的向量,将被视为早餐的食物放入新的早餐向量中。 另外,我希望能够调整每个向量中每种食物的数量:例如
默认值(早餐 50% 或更低蛋白质、10% 脂肪或更高、40% 碳水化合物或更低、晚间小吃 70% 蛋白质或更低、25% 脂肪或更高、5% 碳水化合物或更低)。
这样我就可以调整,以便一个人在早餐吃大量蛋白质和大量碳水化合物,然后再锻炼。
【问题讨论】:
-
如果我们能看到输出应该是什么样子的模型,这将对我们有所帮助
-
偶然发现了这个,link 可能你会感兴趣
标签: r if-statement vector