R语言-管道函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lovely_J/article/details/82056071

符号:%>%这是管道操作,其意思是将%>%左边的对象传递给右边的函数。
说明:%>%来自dplyr包的管道函数,其作用是将前一步的结果直接传参给下一步的函数,从而省略了中间的赋值步骤,可以大量减少内存中的对象,节省内存
作用:作为第一个选项的设置(或剩下唯一一个选项的设置)**
x %>% f(y) 等同于 f(x, y)
y %>% f(x, ., z) 等同于 f(x, y, z )

> date <- as.Date('2018-8-26') + 0:09
> hour <- sample(1:24, 10)
>  minute <- sample(1:60, 10)
>  second <- sample(1:60, 10)
>  days <- data.table(date, hour, minute, second)
> days
          date hour minute second
 1: 2018-08-26    5      3     39
 2: 2018-08-27    2     56     24
 3: 2018-08-28   20     59      1
 4: 2018-08-29    7     30      8
 5: 2018-08-30   14     18     31
 6: 2018-08-31    8     43     53
 7: 2018-09-01   12     13      2
 8: 2018-09-02   10     36      7
 9: 2018-09-03   22     21     47
10: 2018-09-04    1      2     26

连续使用管道 ;可以分开使用

> dataNew <- days %>%unite(datehour, date, hour, sep = ' ') %>%unite(datetime, datehour, minute, second, sep = ':')
> dataNew
               datetime
 1:   2018-08-26 5:3:39
 2:  2018-08-27 2:56:24
 3:  2018-08-28 20:59:1
 4:   2018-08-29 7:30:8
 5: 2018-08-30 14:18:31
 6:  2018-08-31 8:43:53
 7:  2018-09-01 12:13:2
 8:  2018-09-02 10:36:7
 9: 2018-09-03 22:21:47
10:   2018-09-04 1:2:26

猜你喜欢

转载自blog.csdn.net/lovely_J/article/details/82056071