• dplyr 数据操作 常用函数(3)


    接下了我们继续了解dplyr中有用的函数

    1、if_else()

    if_else主要用于在数据做判断用

    x<-data.frame(id=1:6,
                  name=c("wang","zhang","li","chen","zhao","song"),
                  shuxue=c(89,85,68,79,96,53),
                  yuwen=c(77,68,86,87,92,63),
                  shengwu=c(85,68,78,68,98,96))

    if_else(x[,3:4]>80,"优","差")

    以上结果是对数据框中第3和第4列数据进行判断后显示的。

    2、lead()和lag()

    lead(x, n = 1L, default = NA, order_by = NULL, ...)

    lag(x, n = 1L, default = NA, order_by = NULL, ...) 

    lead和lag函数主要用于替换数据,lead表示由前向后替换,lag表示由后向前替换,n表示替换的个数,default表示要替换的结果,默认为na 。order_by是根据某一列进行排序。

    x<-data.frame(id=1:6,
                  name=c("wang","zhang","li","chen","zhao","song"),
                  shuxue=c(89,85,68,79,96,53),
                  yuwen=c(77,68,86,87,92,63),
                  shengwu=c(85,68,78,68,98,96))

    mutate(x,huaxue=lag(x$shuxue,1,88))
    

    以上操作是把shuxue的数据最后一位替换成88然后生成新列huaxue数据。

    同理也可以用lead把数据进行数据替换。

    3、nth()

    nth(x, n, order_by = NULL, default = default_missing(x))

    从向量中提取数据,注x为向量

    a<-5:15
    b<-12:5
    nth(a,3)

    nth(a,-5)
    

    可以在n前面加符号的形式进行,反向提取数据。

    nth(a,3,b)
    

    根据b的序列方向进行提取,并且从b的第一个值开始进行读取。

    4、n_distinct()

    n_distinct(..., na.rm = FALSE)

    计算非重复值的个数

    a<-sample(1:5,10,rep=T)
    a
    

    n_distinct(a)
    

    [1] 4  

    函数的效果相当于length(unique(a))  

    5、order_by()

    order_by(order_by, call)  

    order_by表示数据排序的形式,call表示用于输出结果的序列  

    order_by(10:1,cumsum(1:10))
    

    cumsum(1:10)
    

    [1]  1  3  6 10 15 21 28 36 45 55

    以上是1-10数据累加的结果

    最后order_by的结果是用最大值55不断的减去每个累加结果得到的。  

      

  • 相关阅读:
    android sdk manager 更新问题
    Java static的使用 --Java笔记
    day98-django-ORM操作,创建表,表的增删改查,CBV操作
    day97-django-自带分页
    day96-django-分页模块(自定义)
    day95-django-子版继承母版
    day94-django-cookie登录校验
    day92-django-pymysql操作mysql封装之优化版,自定义的sqlhelper.py模块
    day91-django学生列表之增删改查(模态框-ajax提交)
    day90-django学生列表之增删改查(form提交)、思路、关于ajax的知识点
  • 原文地址:https://www.cnblogs.com/wkslearner/p/5761348.html
Copyright © 2020-2023  润新知