为什么在执行以下语句后,agenew(数据框第二次显示的第 23 行)得到“4”?看来我应该得到一个“0”。
agenew[is.na(agenew)] <- 4 * sibsp + 3 * parch
这是执行语句之前的数据框。
age sibsp agenew parch
1 34.5 0 69 0
2 47.0 1 98 0
3 62.0 0 124 0
4 27.0 0 54 0
5 22.0 1 48 1
6 14.0 0 28 0
7 30.0 0 60 0
8 26.0 1 56 1
9 18.0 0 36 0
10 21.0 2 50 0
11 NA 0 NA 0
12 46.0 0 92 0
13 23.0 1 50 0
14 63.0 1 130 0
15 47.0 1 98 0
16 24.0 1 52 0
17 35.0 0 70 0
18 21.0 0 42 0
19 27.0 1 58 0
20 45.0 0 90 0
21 55.0 1 114 0
22 9.0 0 18 1
23 NA 0 NA 0
这是执行语句后的数据框
> newdf
age sibsp agenew parch
1 34.5 0 69 0
2 47.0 1 98 0
3 62.0 0 124 0
4 27.0 0 54 0
5 22.0 1 48 1
6 14.0 0 28 0
7 30.0 0 60 0
8 26.0 1 56 1
9 18.0 0 36 0
10 21.0 2 50 0
11 NA 0 0 0
12 46.0 0 92 0
13 23.0 1 50 0
14 63.0 1 130 0
15 47.0 1 98 0
16 24.0 1 52 0
17 35.0 0 70 0
18 21.0 0 42 0
19 27.0 1 58 0
20 45.0 0 90 0
21 55.0 1 114 0
22 9.0 0 18 1
23 NA 0 4 0