我的数据框中有这个专栏。
str(a)
$ : int [1:2] 2 2
$ : int [1:2] 0 3
$ : int [1:2] 0 0
$ : int [1:2] 0 0
$ : int [1:2] 10 9
dput(a)
list(c(2L, 2L), c(0L, 3L), c(0L, 0L), c(0L, 0L), 10:9)
如您所见,每行包含两个数字。我想在新列中创建一个新变量。
条件如下:
因此结果应如下所示:
a (old variable) b (new variable)
1. 2 2 0
2. 0 3 1
3. 0 0 0
4. 0 0 0
5. 10 9 -1
我尝试了以下代码,但是我收到了错误。
a %>% mutate(b = ifelese(sapply(a,'[[',1) == sapply(a,'[[',2), 0, ifelese(sapply(a,'[[',1) > sapply(a,'[[',2), -1, felese(sapply(a,'[[',1) < sapply(a,'[[',2), 1, NA))))
Error in UseMethod("mutate_") : no applicable method for 'mutate_' applied to an object of class "list"
非常感谢!
答案 0 :(得分:3)
这个怎么样:
-lm