test <- data.frame('cost'= c(120, 3, 2, 4, 10, 110, 200, 43, 1, 51, 22, 14),
'price' = c(120, 20, 10, 4, 3, 4, 30, 43, 56, 88, 75, 44)
)
test
> test
cost price
1 120 120
2 3 20
3 2 10
4 4 4
5 10 3
6 110 4
7 200 30
8 43 43
9 1 56
10 51 88
11 22 75
12 14 44
Я пытаюсь создать новую переменную, которая принимает разницу между двумя столбцами, если они не совпадают, и если они совпадают, то возвращается значение, которое имеют оба столбца.
Desired:
cost price NewVar
1 120 120 120
2 3 20 -17
3 2 10 -8
4 4 4 4
5 10 3 7
6 110 4 106
7 200 30 170
8 43 43 43
9 1 56 -55
10 51 88 -37
11 22 75 -53
12 14 44 -30
Это то, что я пытался, но я получил ошибку, что пропустил аргумент ИСТИНА / ЛОЖЬ или что-то в этом роде.
test <- test %>%
mutate(NewVar = if(cost==price) cost else cost - price)
Спасибо!