【发布时间】:2018-10-07 03:02:17
【问题描述】:
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
这是我尝试过的,但它给了我一个错误,我错过了一个 TRUE/FALSE 参数或类似的东西。
test <- test %>%
mutate(NewVar = if(cost==price) cost else cost - price)
谢谢!
【问题讨论】: