Почему я получаю «4» для agenew (строка 23 второго отображения кадра данных) после выполнения инструкции ниже? Кажется, я должен получить «0».получение нечетного значения при попытке заменить NA при использовании R
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
Это dataframe после выполнения оператора
> 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
попробуйте, может быть, 'newdf $ agenew []. (Newdf $ agenew)] <- 4 * newdf $ sibsp + 3 * newdf $ parch' – haki