首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言】数据排序

我相信大家经常会使用Excel对数据进行排序。有时候我们会按照两个条件来对数据排序。假设我们手上有下面这套数据,9个人,第二(score)为他们的考试成绩,第三(code)为对应的评级。...我们就会得到如下结果 那么这个过程怎么在R里面实现呢?今天我们就来探讨一下。主要用的是R中的order这个函数。...#读入文件,data.txt中存放的数据为以上表格中展示的数据 file=read.table(file="data.txt",header=T,sep="\t") #先按照code升序,再按照Score...只需要前面加个负号就可以了 View(file[order(file$Code,-file$Score),]) 下面是按照code升序,然后再按score降序排列的结果,是不是跟Excel处理的结果一样 在R里面我们还可以指定

2.2K20

数据处理第3部分:选择行的基本和高级的方法

在这篇文章中,我们将介绍如何挑选您的数据。 除了filter的基础知识外,它还介绍了一些更好的方法,用near()和between()挑选数字,或用正则表达式过滤字符串列。...: *filter_all()将根据您的进一步说明过滤所有 *filter_if()需要一个返回布尔值的函数来指示要过滤。...如果是这样,那么将对这些执行过滤器指令。 *filter_at()要求你在vars()参数中指定要进行过滤。 在这些情况下,有一般语法:首先指定哪些,然后提及过滤器的条件。...过滤所有 不可否认,msleep并不是展示这种能力的最佳数据库,但想象一下,你有一个包含几列的数据库,并且你想要选择在任一中都有某个单词的所有行。...将是非常无用的,因为它将返回27行,其中许多是测量部分中缺少的数据。 在这种情况下:filter_if()派上用场。 描述都是字符,而测量数据是数字。

1.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

TidyFriday 每天 5 分钟,轻轻松松上手 R 语言(四)

上次推文,我们通过数字和字符进行了简单的行筛选,今天我们继续来探讨 filter()的进阶用法 今天我们使用 msleep 来进行演示filter()的用法,msleep 是一个关于哺乳动物睡眠的数据...基于范围的过滤 如果我们要筛选某一范围的值,可以用两个逻辑条件。...例如,要选择总睡眠时间在16至18小时之间的所有动物,我可以使用filter(sleep_total >= 16, sleep_total <= 18) ,但是使用 between ()看起来会更简洁一些...只要语句为 TRUE,就会过滤该行。这时有两个选项: base R 的 grepl ()函数,或者用 stringr 包的 str_detect ()。 我们要注意 R 是区分大小写的!...有时我们需要对多个条件进行筛选,可以组合使用逻辑运算符,比如我要筛选体重大于100、睡眠时间大于15小时,不属于食肉类的行,可以这样写 msleep %>% select(name, order,

73330

R数据操作(七):dplyr 操作变量与汇总

使用mutate()添加新变量 除了选择已存在的,另一个常见的操作是添加新的。这就是mutate()函数的工作了。 mutate()函数通常将新增变量放在数据集的最后面。...上述代码分三步进行了数据准备: 目的地将航班分组 汇总计算距离、平均延时和航班数目 移除噪声点和Honolulu航班,它太远了。...当你看到这种类型图时,过滤掉有很少数目的组别是很有用的,可以看到数据更多的模式和更少的极端值。这正是下面代码做的事情,它同时展示了整合dplyr与ggplot2的一种手动方式。...= min_rank(desc(dep_time))) %>% filter(r %in% range(r)) #> # A tibble: 770 x 20 #> # Groups: year...当你多个变量分组时,可以非常容易地对数据框汇总: daily <- group_by(flights, year, month, day) (per_day <- summarize(daily

2.5K20

tidyverse:R语言中相当于python中pandas+matplotlib的存在

library(tidyverse) #加载以下tidyverse中核心的packages: ggplot2:画图,可视化数据 dplyr:操控数据过滤、排序等 tidyr:清理数据 readr:(...02 — tibble:高级数据框(data.frame升级版) ——数据)类型一目了然 tibbleR语言中一个用来替换data.frame类型的扩展的数据框,tibble继承了data.frame...tibble包,也是由Hadley开发的R包。...,会自动添加列名 tibble,类型只能回收长度为1的输入 tibble,会懒加载参数,并按顺序运行 tibble,是tbl_df类型 tibble是data.frame的进化版,有如下优点:生成的数据数据可以保持原来的数据格式...filter(mtcars_df,mpg==21,hp==110) #给定的逻辑判断筛选出符合要求的子数据集 # A tibble: 2 x 11 mpg cyl disp hp

3.9K10

dpois函数_frequency函数

这会将分析单位从完整数据集更改为单个组。当在分组数据框上使用dplyr时,它们将自动“组”应用。...在查看此类图时,过滤掉具有最少观察数的组通常很有用,因此可以看到更多的模式,而不是最小组中的极端变化。这就是下面的代码所做的,并向您展示了将ggplot2集成到dplyr流中的便捷模式。...当绘制击球手的技能(击球平均数,ba测量)与击球的机会数(ab测量)时,会看到两种模式: 如上所述,随着我们获得更多数据点,我们聚合的变化会减少。...过滤提供所有变量,每个观察在一个单独的行中: not_cancelled %>% group_by(year, month, day) %>% mutate(r = min_rank(desc...(dep_time))) %>% filter(r %in% range(r)) #> # A tibble: 770 x 20 #> # Groups: year, month, day [

1.8K10

R数据科学整洁之道:使用 tibble 实现简单数据

可以在 tibble 中使用在 R 中无效的变量名称(即不符合语法的名称)作为列名称。例如, 列名称可以不以字母开头,也可以包含特殊字符(如空格)。...ggplot2 和 dplyr 等其他 R 包中使用这些变量,也需要使用反引号。...tribble() 是定制化的,可以对数据行进行编码:标题由公式(以 ~ 开头) 定义,数据条目以逗号分隔,这样就可以用易读的方式对少量数据进行布局: tribble( ~x, ~y, ~z,...打印 tibble 的打印方法进行了优化,只显示前 10 行结果,并且也是适合屏幕的,这种方式非 常适合大数据集。...tibble 不能进行部分匹配,如果想要访问的不存在,它会生成一条警告信息。 tibble 打印时更美观。

1.6K10

R」dplyr 行式计算

「原文来自:dplyr 文档」 上一篇:「R」dplyr 列式计算 通常 dplyr 和 R 更适合对进行操作,而对行操作则显得更麻烦。...这篇文章,我们将学习围绕rowwise() 创建的 row-wise 数据框的 dplyr 操作方法。 本文将讨论 3 种常见的使用案例: 行聚合(例如,计算 x, y, z 的均值)。...行汇总统计 dplyr::summarise() 让一多行的统计汇总变得非常简单,当它与 rowwise() 结合时,它也可以简便地操作汇总一行多。...你可以使用 expand.grid()或者tidyr::expand_grid()来生成数据,然后重复上面的模式: df <- expand.grid(mean = c(-1, 0, 1), sd =...因为输入tibble中的没有那么规则,所以这种方法更不适合这种方法。

6.2K20

往前一步是优秀,退后一步是懵懂

我们的生信入门班和数据挖掘线上直播课程已经有了三年多的历史,培养了一波又一波优秀的生信人才。前面提到R语言授课时的超纲练习题,已经分享过两位优秀学员的答案。...超纲练习题不超纲 下面继续来看优秀学员Dr.luka的分享: R语言超纲练习题 (生信技能树优秀学员Dr.luka) 数据挖掘(GEO,TCGA,单细胞)2022年6月场,快速了解一些生物信息学应用图表...) #如果有FALSE则说明有不对应情况 dim(exp) #过滤前探针数 exp <- exp[exp$X %in% soft$ID,] dim(exp) #过滤后探针数 3.删除重复的基因名,整理表达矩阵...使用dplyr包(思路与上述相近) exp_max3 % #合并探针的信息 inner_join(anno,by="ID") %>% #去掉多余信息,select支持列名和号同时选择...select(c(GeneName,2:7)) %>% #·增加一,内容为每一行的平均数 mutate(rowMean =rowMeans(.[,-1])) %>% #把表达量的平均值从大到小排序

62520

玩转数据处理120题|R语言版本

R解法 # 默认是6行,可指定行数 head(df,5) 23 数据计算 题目:将salary数据转换为最大值与最小值的平均值 难度:⭐⭐⭐⭐ 期望输出 ?...R解法 rownames(df) <- NULL # 如果是tibble则索引始终是顺序 备注 有时我们修改数据会导致索引混乱 65 异常值处理 题目:删除所有换手率为非数字的行 难度:⭐⭐⭐...R语言解法 df <- cbind(df1,df2,df3) names(df) <- c(0,1,2) 87 数据查看 题目:查看df所有数据最小值、25%分位数、中位数、75%分位数、最大值 难度...题目:行计算df的每一行均值 难度:⭐⭐ R语言解法 rowMeans(df) 97 数据计算 题目:对第二计算移动平均值 难度:⭐⭐⭐ 备注 每次移动三个位置,不可以使用自定义函数 R语言解法...难度:⭐⭐ R语言解法 df %>% summarise(salary_sqrt = sqrt(salary)) 114 数据处理 题目:将上一题数据的linestaion_拆分 难度:⭐⭐

8.7K10

R数据操作(五):dplyr 介绍与数据过滤

该部分学习内容来自《R for Data Science》。 在对数据进行可视化之前我们往往需要进行数据转换以得到可视化所需要的数据内容与格式。...,这里适配地显示了在一个屏幕前几行和所有的(我们可以使用View(flights)在Rstudio中查看数据集的所有信息。...输出显示不同的原因是这个数据集是一个Tibble。Tibbles都是数据框data.frame,但经过改良以便于更好(在tidyverse生态中)工作。...select() 根据已知的变量创建新的变量,mutate() 将许多值塌缩为单个描述性汇总,summarize() 这些函数都可以通过group_by()衔接起来,该函数改变上述每个函数的作用域,从操作整个数据集到组与组操作...使用filter()过滤行 filter()允许我们根据观测值来对数据集取子集。第一个参数是数据框的名字,第二和随后的参数是用于过滤数据框的表达式。

2.4K11

R语言第二章数据处理④数据框排序和重命名目录

目录 R语言第二章数据处理①选择 R语言第二章数据处理②选择行 R语言第二章数据处理③删除重复数据 R语言第二章数据处理④数据框排序和重命名 =============================...=================== 这一篇主要介绍如何通过一个或多个(即变量)的值对数据中的行进行重新排序。...您将学习如何轻松地: 使用R函数arrange()[dplyr包]升序(从低到高)进行排序 使用arrange()结合函数desc()[dplyr package]以降序(从高到低)对行进行排序 library...(tidyverse) my_data <- as_tibble(iris) my_data ## # A tibble: 150 x 5 ## Sepal.Length Sepal.Width Petal.Length...Sepal.Length升序重新排序行 #根据Sepal.Length值排序(升序) my_data %>% arrange(Sepal.Length) #根据Sepal.Length值排序(降序)

1.5K50

R数据科学-1(dplyr)

R数据科学(dplyr) 如今数据分析如火如荼,R与Python大行其道。你还在用Excel整理数据么,你还在用spss整理数据么。...image.png image.png 1.数据框格式(DataFrame) 一般,我们的excel包括行(col)与(row),在R语言中,经常对excel操作的对象称之为Dataframe,那么在进行数据查看时候...,R语言可以看到数据结构。...head(mtcars),可以看到数据的前面6行,属于数据的一个预览。但是看不到各个的属性。 %>%管道函数,其实就是将f()写在了数据的后面,下面示例的两个操作,都得到df,效果一样。...只不过 %>%看起来更简单,将mtcars赋予新的tibble。 df以后的输出,很简洁,能看到32*11的数据行与,也能看到各的属性。

1.6K20

玩转数据处理120题|Pandas&R

Python解法 df.head() R解法 # 默认是6行,可指定行数 head(df,5) 23 数据计算 题目:将salary数据转换为最大值与最小值的平均值 难度:⭐⭐⭐⭐ 期望输出 ?...题目:将createTime设置为索引 难度:⭐⭐ Python解法 df.set_index("createTime") R解法 df %>% tibble::column_to_rownames...(drop=True) R解法 rownames(df) <- NULL # 如果是tibble则索引始终是顺序 备注 有时我们修改数据会导致索引混乱 65 异常值处理 题目:删除所有换手率为非数字的行...题目:行计算df的每一行均值 难度:⭐⭐ Python解法 df[['col1','col2','col3']].mean(axis=1) R语言解法 rowMeans(df) 97 数据计算 题目...(salary_sqrt = sqrt(salary)) 114 数据处理 题目:将上一题数据的linestaion_拆分 难度:⭐⭐ Python解法 df['split'] = df['linestaion

6K41

R数据科学|3.5内容介绍及习题解答

上节我们对选择现有的进行了介绍与习题解答,现在对数据框添加新进行介绍,这里使用mutate()函数,注意:mutate()总是将新添加在数据集的最后。...、累加积、累加最小值和累加最大值的函数cumsum()、cumprod()、commin()和cummax();dplyr 还提供了cummean()函数以计算累加均值。...默认的排秩方式是,最小的值获得最前面的名次,使用desc(x)可以让最大的值获得最前面的名次: y <- c(1, 2, 2, NA, 3, 4) min_rank(y) #> [1] 1 2 2 NA...除了数据错误,我可以想到两个原因。有些航班午夜出发,因此是arr_time < dep_time。在这种情况下,时间的差异应该是24小时(1,440分钟)。...有些航班跨越时区,总飞行时间将以小时(60的倍数)为间隔。所有航班都是从纽约起飞的,都是美国国内航班。这意味着所有航班都将飞往相同或更西风的时区。

2.5K50
领券