Я новичок в R. У меня есть датафрейм со столбцами 1: n. За исключением столбца 1 и n , я хочу изменить максимальное значение каждой строки, если строка имеет конкретное значение в другом столбце, И установить оставшиеся значения (исключая столбцы 1 и n) в ноль.У меня около 300 000 дел и 40 столбцов в моих реальных данных, однако приведенный ниже пример иллюстрирует то, чего я пытаюсь достичь:
A <- c(1,1,5,5,10)
B <- rnorm(1:5)
C <- rnorm(1:5)
D <- rnorm(1:5)
E <- c(10,15,100,100,100)
df <- data.frame(A,B,C,D,E)
df
A B C D E
1 1 0.74286670 0.3222136 0.9381296 10
2 1 -0.03352498 0.5262685 0.1225731 15
3 5 -0.17689629 -0.8949740 -1.4376567 100
4 5 0.48329153 1.1574834 -1.1116581 100
5 10 0.13117277 -0.2068736 0.4841806 100
Здесь, если в столбце A каждой строки есть 1, я хочу изменитьмаксимальное значение каждой строки в значение столбца E, и установите столбцы B, C и D равными 0.
Итак, результат должен быть таким:
A B C D E
1 1 0 0 10 10
2 1 0 15 0 15
3 5 -0.17689629 -0.8949740 -1.4376567 100
4 5 0.48329153 1.1574834 -1.1116581 100
5 10 0.13117277 -0.2068736 0.4841806 100
Я пыталсясделать это в течение двух дней.Спасибо.