根据数量改变nummrec变量

时间:2017-12-08 12:44:44

标签: r dplyr

我的数据框中有这个专栏。

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)

如您所见,每行包含两个数字。我想在新列中创建一个新变量。

条件如下:

  • 如果两个数字中的第一个大于第二个数字 - > -1
  • 如果第二个数字大于第一个数字 - > 1
  • 如果两个数字相等 - > 0

因此结果应如下所示:

      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"

非常感谢!

1 个答案:

答案 0 :(得分:3)

这个怎么样:

-lm