R语言第二章数据处理②选择行
时间:2022-06-16
本文章向大家介绍R语言第二章数据处理②选择行,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
正文
这篇博客主要介绍学习以下R函数:
slice():按位置提取行 filter():提取符合特定逻辑条件的行。 例如,iris%>%filter(Sepal.Length> 6)。 filter_all(),filter_if()和filter_at():过滤变量然后选择行。 这些函数复制所有变量或变量选择的逻辑标准。 sample_n():随机选择n行 sample_frac():随机选择一小部分行 top_n():选择变量排序的前n行
R语言常用的逻辑符号
<:少于
>:大于
<=:小于或等于
>=:大于或等于
==:相等
!=:不相等
%in%:在之内。 例如,“a in%c(2,3)”表示a可能等于2或3。
is.na():是NA
!is.na():不是NA。
value == 2 | 3:表示值等于2或3。与value%c(2,3)相同
&:和。 例如,性别==“女性”&年龄> 25岁
根据属性值选择行
# 选择Sepal.Length > 7的行
my_data %>% filter(Sepal.Length > 7)
#选择Sepal.Length > 6.7, Sepal.Width <= 3的行
my_data %>% filter(Sepal.Length > 6.7, Sepal.Width <= 3)
#选择Sepal.Length > 6.7, Species == "versicolor"的行
my_data %>% filter(Sepal.Length > 6.7, Species == "versicolor")
#选择 Sepal.Length > 6.7,且Species == "versicolor"或者 Species == "virginica"的行
my_data %>% filter(
Sepal.Length > 6.7,
Species == "versicolor" | Species == "virginica"
)
#选择 Sepal.Length > 6.7,且Species == "versicolor"或者 Species == "virginica"的行
my_data %>% filter(
Sepal.Length > 6.7,
Species %in% c("versicolor", "virginica" )
)
过滤变量后选择行
通过删除分组列“Species”,从my_data创建一个新的演示数据集:
#去掉Species列
my_data2 <- my_data %>% select(-Species)
#选择所有属性大于2的行
my_data2 %>% filter_all(all_vars(.> 2))
#选择任何一个属性大于2的行
my_data2 %>% filter_all(any_vars(.> 2))
#选择以sep开头的属性任一大于2的行
my_data2 %>% filter_at(vars(starts_with("Sep")), any_vars(. > 2))
根据缺失值筛选行
friends_data <- data_frame(
name = c("A", "B", "C"),
age = c(27, 25, 29),
height = c(180, NA, NA),
married = c("yes", "yes", "no")
)
#选择height属性是NA的行
friends_data %>% filter(is.na(height))
#选择height属性非NA的行
friends_data %>% filter(!is.na(height))
从数据框中选择随机行
可以使用函数sample_n()选择n个随机行,也可以使用sample_frac()选择行的随机分数。 我们首先使用函数set.seed()来启动随机数生成器引擎。 这对于用户重现分析非常重要。
set.seed(1234)
#无放回的随机取五行
my_data %>% sample_n(5, replace = FALSE)
#无放回的随机取5%行
my_data %>% sample_frac(0.05, replace = FALSE)
#根据Sepal.Length值取最大的五行
my_data %>% top_n(5, Sepal.Length)
#根据Species分组,然后以Sepal.Length值取最高的五行
my_data %>%
group_by(Species) %>%
top_n(5, Sepal.Length)
总结:
按逻辑条件筛选行:my_data%>%filter(Sepal.Length> 7) 选择n个随机行:my_data%>%sample_n(10) 选择行的随机分数:my_data%>%sample_frac(10) 按值选择前n行:my_data%>%top_n(10,Sepal.Length)
- TensorFlow开发环境搭建(Ubuntu16.04+GPU+TensorFlow源码编译)
- C++虚析构函数解析
- C-SATS工程副总裁教你如何用TensorFlow分类图像 part1
- 帝国cms文章页调用当前文章URL如何操作?
- dedecms文章页调用地址(当前文章URL)如何操作?
- 饭团开通一周,3人学会了比特币操作
- Sample K算法
- C#读取“我的文档”等特殊系统路径及环境变量
- winform CheckedListBox实现全选/全不选
- 机器学习该如何入门
- dedecms建的网站如何去掉/index.html
- WPF ContextMenu的使用
- Json的序列化与反序列化以及乱入的k_BackingField
- 亚马逊面试题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python Django开发 异常及其解决办法(二)
- C#参数类型总结
- C++ stringstream 实现字符与数字之间的转换
- C语言入门系列之8.指针的概念与应用
- 宝塔面板升级没有成功怎么办
- C语言经典习题100例(十)46-50
- 5.21排序与检索
- 建议收藏 | Linux常用命令
- 浅谈常见数据结构和算法的应用系列(一)
- 利用Python进行远程关电脑
- C语言入门系列之10.结构体和共用体
- Django+Vue开发生鲜电商平台之4.Restful API和Vue介绍
- 分别用逻辑回归和决策树实现鸢尾花数据集分类
- Django+Vue开发生鲜电商平台之3.数据模型设计和资源导入
- Django+Vue开发生鲜电商平台之2.开发环境搭建