R语言dplyr包入门教程:数据处理和筛选

需积分: 10 10 下载量 71 浏览量 更新于2024-09-09 收藏 38KB DOCX 举报
R语言资料-入门必备 R语言是统计计算和绘图的强大工具,但对于初学者来说,学习R语言可能会感到困难。因此,本文旨在为初学者提供一个必备的R语言资料,涵盖了R语言的基础知识和dplyr包的使用。 R语言dplyr包 dplyr包是R语言中一个非常实用的包,用于处理结构化数据。相比于plyr包,dplyr包专门用于处理dataframe对象,大幅提高了速度,并提供了更稳健的数据库接口。同时,dplyr包也可以用于操作Spark的dataframe。 数据集类型转换 在使用dplyr包处理数据之前,建议先将数据集转换为tbl_df类型。tbl_df()函数可以将过长过大的数据集转换为显示更友好的tbl_df类型。 语法:tbl_df(data) 举例1: # data.frame类型数据集 class(mtcars) # 转换为tbl_df类型 ds <- tbl_df(mtcars) # 转换为data.frame类型 df <- as.data.frame(ds) 筛选:filter filter()函数可以按给定的逻辑条件筛选出符合要求的子数据集。filter()函数类似于base::subset()函数,但代码更加简洁,同时也支持对同一对象的任意个条件组合(表示AND时要使用&或者直接使用逗号),返回与.data相同类型的对象。 语法:filter(.data, ...) 举例1: # 过滤出cyl==8的行 filter(mtcars, cyl == 8) filter(mtcars, cyl < 6) # 过滤出cyl<6并且vs==1的行 filter(mtcars, cyl < 6 & vs == 1) filter(mtcars, cyl < 6, vs == 1) # 过滤出cyl<6或者vs==1的行 filter(mtcars, cyl < 6 | vs == 1) # 过滤出cyl为4或6的行 filter(mtcars, cyl %in% c(4, 6)) slice()函数 slice()函数通过行号选取数据。 语法:slice(.data, ...) 举例2: # 选取第一行数据 slice(mtcars, 1L) filter(mtcars, row_number() == 1L) # 选取最后一行数据 slice(mtcars, n()) filter(mtcars, row_number() == n()) # 选取第5行到最后一行所有数据 slice(mtcars, 5:n()) filter(mtcars, between(row_number(), 5, n())) 本文为初学者提供了R语言的基础知识和dplyr包的使用方法,希望能够帮助初学者更好地学习和掌握R语言。