R语言数据筛选、汇总、重构

本文总结了R语言中数据处理的一些关键技巧,包括使用sqldf和data.table包去除多余行和列,aggregate和with函数进行数据聚集,以及统计分组样例数目。此外,还介绍了矩阵转置、基于字符串匹配的数据筛选、数据重排序方法,以及如何高效创建新变量。最后,探讨了数据框溶解的概念。
摘要由CSDN通过智能技术生成

最近学习的知识点总结如下:

3.1 去掉多余的数据

1)去掉不需要的行:

使用sqldf包中的sqldf()函数使用sql语句进行操作

library(sqldf)
sqldf("select* from mtcars where am=1 and vs=1") 

运行结果如下:


与上面语句相同结果的语句如下:

subset(mtcars,am==1&vs==1) 

运行结果如下:


这是由于sqdf()函数的默认参数row.names=FALSE,需要修改为TRUE。然后结果就一致,比较结果是否一致用的函数是:

identical()函数

identical(sqldf("select* from mtcars where am=1 and vs=1",row.names=TRUE),
+ subset(mtcars,am==1&vs==1)
+ )

2)去掉不需要的列

 subset(mtcars,am==1&vs==1,select=hp:wt)

3.1.1 快速去掉多余数据

library(hflights)
library(sqldf)
system.time(sqldf("SELECT * from hflights where Dest == 'BNA'",row.names=TRUE)) #计算时间
system.time(subset(hflights,Dest=='BNA'))



library(dplyr)                            #dplyr包可以处理
system.time(filter(hflights,Dest=='BNA'))


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值