Основанное на правилах форматирование кадра данных в R - PullRequest
0 голосов
/ 14 января 2019

Это задание является следующим этапом вопроса, который я задавал несколько часов назад. Речь шла о заполнении пропущенного значения в Y, которое уменьшается только в зависимости от значения X.

Сбросить значение Y до желаемого значения с помощью ОДНОЙ переменной x? очень сложный

Ниже приведен пример. Когда X2 изменяется от значения 6 до 1, значение Y начинается с того же значения (2.4) и заканчивается на 1,7.

Как вы автоматически обнаруживаете такое большое изменение переменной X2. И добавить недостающее значение в Y? Я могу сделать эту задачу вручную и легко закончить за 10 минут. Но что, если у меня есть обильные данные?

Y     X1    X2
2.4   9      1
?     7      2
?     3      3
?     5      4
?     8      5
1.7   3      6

2.4   9      1
?     7      2
?     3      3
?     5      4
?     8      5
1.7   3      6

1 Ответ

0 голосов
/ 14 января 2019

Требование не очень понятно, но обновление одного столбца на основе значений другого можно выполнить с помощью mutate, как показано ниже:

df %>% group_by(X2) %>% mutate(Y=ifelse(X2==1, 2.4, ifelse(X2==6, 1.7, 0)))

Дает вывод:

      X1    X2   Y
 1     9     1   2.4
 2     7     2   0  
 3     3     3   0  
 4     5     4   0  
 5     8     5   0  
 6     3     6   1.7
 7     9     1   2.4
 8     7     2   0  
 9     3     3   0  
10     5     4   0  
11     8     5   0  
12     3     6   1.7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...