博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dplyr 数据操作 列操作(select / mutate)
阅读量:6001 次
发布时间:2019-06-20

本文共 1222 字,大约阅读时间需要 4 分钟。

在R中,我们通常需要对数据列进行各种各样的操作,比如选取某一列、重命名某一列等。

dplyr中的select函数子在数据列的操作上也同样表现了它的简洁性,而且各种操作眼花缭乱。

select(.data, ...)

参数主要在于如何添加条件。配合select()进行使用的函数有:

starts_with()

ends_with()
contains()
matches()
num_range()
one_of()
everything()

配合以上这些函数,使得select()的使用更加的灵活。

除了选择列以外,我们还可以添加一列,使用函数mutate()或transmute()

mutate(.data, ...)

transmute(.data, ...)

 

下面来看些具体的例子

library(dplyr)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))x

 

select(x,name)

选取单列

select(x,starts_with("s"))

选取包好以“s”开头的列

select(x,ends_with("e"))

选取以“e”结尾的列。

select(x,matches(".e."))

 

匹配中间含有“e”的列

select(x,contains("e"))

匹配所有名称中包含“e”的列

select(x,-name)

在名字前面加个“-”,表示出了这一列以外,其他的列都显示

select(x,1:3)

 

也可以直接用列的编号表示要选择的列

select(x,mz=name)

选择列的时候,同时对列名进行重命名

select(x,cmm=starts_with("s"))

同样的可以对多列进行重命名,并选择

select(x,name,everything())

可以对数据进行排序,列较多的情况下把不需要排序的列用evything()直接列出。

下面使用mutate()函数对数据进行增加列。

mutate(x,yingyu=shuxue*1.2)

transmute(x,yingyu=shuxue*1.2)

可以看到,使用matate是在原来列的基础上增加一列,而使用transmute是新建一个数据框。

mutate(x,shuxue=NULL)

除了,增加列以外还可以把NULL赋值给列,已达到删除列的效果。  

转载于:https://www.cnblogs.com/wkslearner/p/5741591.html

你可能感兴趣的文章
另一份有点难的 iOS 面试题
查看>>
react ~router && Redux && react-saga && mobx
查看>>
TableView 刷新一个Cell 或者一个Section
查看>>
AXIOS从服务器加载图片并显示
查看>>
Android 6.0运行权限解析(高级篇)
查看>>
面向Vue新人:写一个简单的倒计时按钮
查看>>
综合扫描及安全评估
查看>>
ReentrantReadWriteLock读写锁及其在 RxCache 中的使用
查看>>
【leetCode】无重复字符的最长子串 问题详解
查看>>
区块链初体验
查看>>
关于手势处理
查看>>
super
查看>>
5G美洲白皮书:5G开源的现状(pdf)
查看>>
世界移动通信大会
查看>>
Grails通过sessionId获取session对象
查看>>
基于Spring Security Role过滤Jackson JSON输出内容
查看>>
从设计者的角度看 React
查看>>
js常见问题
查看>>
CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境
查看>>
怎样使用React Context API
查看>>