我试图寻找一个类似的问题,但找不到一个。如果你这样做,请告诉我!
我一直在研究谷物主食的项目
这是我的数据集的一个子集:
nutrient.component. grain nutrients
1 Beta-carotene (μg) White Rice 0.00
2 Beta-carotene (μg) Brown Rice NA
3 Calcium (mg) White Rice 28.00
4 Calcium (mg) Brown Rice 23.00
5 Carbohydrates (g) White Rice 80.00
6 Carbohydrates (g) Brown Rice 77.00
7 Copper (mg) White Rice 0.22
8 Copper (mg) Brown Rice NA
9 Energy (kJ) White Rice 1528.00
10 Energy (kJ) Brown Rice 1549.00
11 Fat (g) White Rice 0.66
12 Fat (g) Brown Rice 2.92
13 Fiber (g) White Rice 1.30
14 Fiber (g) Brown Rice 3.50
15 Folate Total (B9) (μg) White Rice 8.00
16 Folate Total (B9) (μg) Brown Rice 20.00
17 Iron (mg) White Rice 0.80
18 Iron (mg) Brown Rice 1.47
19 Lutein+zeaxanthin (μg) White Rice 0.00
20 Lutein+zeaxanthin (μg) Brown Rice NA
21 Magnesium (mg) White Rice 25.00
22 Magnesium (mg) Brown Rice 143.00
23 Manganese (mg) White Rice 1.09
24 Manganese (mg) Brown Rice 3.74
25 Monounsaturated fatty acids (g) White Rice 0.21
26 Monounsaturated fatty acids (g) Brown Rice 1.05
27 Niacin (B3) (mg) White Rice 1.60
28 Niacin (B3) (mg) Brown Rice 5.09
29 Pantothenic acid (B5) (mg) White Rice 1.01
30 Pantothenic acid (B5) (mg) Brown Rice 1.49
31 Phosphorus (mg) White Rice 115.00
32 Phosphorus (mg) Brown Rice 333.00
33 Polyunsaturated fatty acids (g) White Rice 0.18
34 Polyunsaturated fatty acids (g) Brown Rice 1.04
35 Potassium (mg) White Rice 115.00
36 Potassium (mg) Brown Rice 223.00
37 Protein (g) White Rice 7.10
38 Protein (g) Brown Rice 7.90
39 Riboflavin (B2)(mg) White Rice 0.05
40 Riboflavin (B2)(mg) Brown Rice 0.09
41 Saturated fatty acids (g) White Rice 0.18
42 Saturated fatty acids (g) Brown Rice 0.58
43 Selenium (μg) White Rice 15.10
44 Selenium (μg) Brown Rice NA
45 Sodium (mg) White Rice 5.00
46 Sodium (mg) Brown Rice 7.00
47 Sugar (g) White Rice 0.12
48 Sugar (g) Brown Rice 0.85
49 Thiamin (B1)(mg) White Rice 0.07
50 Thiamin (B1)(mg) Brown Rice 0.40
51 Vitamin A (IU) White Rice 0.00
52 Vitamin A (IU) Brown Rice 0.00
53 Vitamin B6 (mg) White Rice 0.16
54 Vitamin B6 (mg) Brown Rice 0.51
55 Vitamin C (mg) White Rice 0.00
56 Vitamin C (mg) Brown Rice 0.00
57 Vitamin E, alpha-tocopherol (mg) White Rice 0.11
58 Vitamin E, alpha-tocopherol (mg) Brown Rice 0.59
59 Vitamin K1 (μg) White Rice 0.10
60 Vitamin K1 (μg) Brown Rice 1.90
61 Water (g) White Rice 12.00
62 Water (g) Brown Rice 10.00
63 Zinc (mg) White Rice 1.09
64 Zinc (mg) Brown Rice 2.02
糙米有四个 NA 值。
根据这张图,我认为可以公平地假设糙米的 NA 值将非常接近白米的等效值。并且镜像白米值而不是将值转换为零会更准确。
我的问题是,除了手动查找和输入糙米的白米当量营养素外,代码如何将 NA 替换为白米的等效值?我希望结果能转换铜的 NA 值;糙米与铜的价值相同;白米(0.22)。首先用零替换NA会更好吗?但是如果我这样做,那么我就有六种营养价值为零而不是四个数值为 NA 的营养素。我试图找出正确的心态来通过代码解决这个问题。对此的任何见解将不胜感激。
谢谢
假设你的输入数据的数据框被调用dt
,我们可以使用包中的fill
函数tidyr
来实现这个任务。dt2
是最终的输出。
library(tidyr)
dt2 <- dt %>% fill(nutrients)
dt2
nutrient.component. grain nutrients
1 1 Beta-carotene (µg) White Rice 0.00
2 2 Beta-carotene (µg) Brown Rice 0.00
3 3 Calcium (mg) White Rice 28.00
4 4 Calcium (mg) Brown Rice 23.00
5 5 Carbohydrates (g) White Rice 80.00
6 6 Carbohydrates (g) Brown Rice 77.00
7 7 Copper (mg) White Rice 0.22
8 8 Copper (mg) Brown Rice 0.22
...
默认的 offill
将NA
基于前一个和最近的非 NA 行进行估算。因此,确保每条糙米记录恰好是相关白米记录的下一行,这一点很重要。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句