首页
学习
活动
专区
圈层
工具
发布

生信代码:数据处理( tidyverse包)

大家在学习R语言的时候,大多参考《R语言实战》这本书,但这本书年代过于久远(中文第二版是2016年),主要着力点也是在R base上,R语言可视化的ggplot2包也只是简要介绍,而对于tidyverse...在Rstudio中加载tidyverse包,可以看到该包下有8个子包,著名的ggplot2包即是其中的一个子集,我们先着重讲一下数据处理有关的包——dplyr包。...1 mutate() mutate()与基础函数transform()相似,都可以添加新的一列,但是允许引用刚刚创建的列: mydata tibble(x1=c(2,2,6,4),...) sd_english=sd(score) ) ##summarize返回的是一个新的数据框,如果后续要使用到,需要保存下来 5 arrange() R base...包中涉及到排序的包括 sort(),rank(),order(),而在dplyr包中与排序相关的是arrange()包,默认是从高到低进行排序,如果变换排序顺序则可以使用-(变量)或者desc(变量)。

2.6K10

R语言缺失值探索的强大R包:naniar

简介 缺失值在数据中无处不在,需要在分析的初始阶段仔细探索和处理。在本次示例中,会详细介绍naniar包探索缺失值的方法和理念,它和ggplot2和tidy系列使用方法非常相似,上手并不困难。...: gg_miss_upset(airquality) 一个更加复杂的数据: gg_miss_upset(riskfactors) 使用NA替换缺失值 在一个数据中有很多缺失值用NA来表示可能会更加方便...主要有: replace_with_na replace_with_na_all replace_with_na_at replace_with_na_if 和dplyr中的replace_na()用法完全一样...整洁的缺失数据:shadow matrix as_shadow()函数直接以数据框的形式返回是否是缺失值,输入什么样子输出就是什么样子!...函数,还可以和group_by连用探索缺失值!

1.8K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《高效R语言编程》6--高效数据木匠

    使用dplyr高效处理数据 这个包名的意思是数据框钳,相比基础R的优点是运行更快、与整洁数据和数据库配合好。函数名的部分灵感来自SQL。 ?...与基本R中类似函数不同,变量无需使用 $ 操作符就可直接使用,设计与magrittr包的%>%管道操作符一起使用,以允许每个数据阶段写成新的一行。其是一个大型包,本身可以看成一门语言。...summarize是一个多面手,用于返回自定义范围的汇总统计值。...非标准计算 代码中没有引号包裹的原始名字,这种方式叫做非标准计算(NSE),高效交互使用函数,减少键盘输入,允许Rstudio中自动完成。还是函数名多个_。...这里建议不要把数据库密码和API密钥等放在命令中,而要放大.Renviron文件中。dbConnect()函数连接数据库,dbSendQuery()查询,dbFetch()加载到R中。

    2.5K20

    「R」ggplot2在R包开发中的使用

    尤其是在R包中编程改变了从ggplot2引用函数的方式,以及在aes()和vars()中使用ggplot2的非标准求值的方式。...的多个函数写入NAMESPACE文件。...常规任务最佳实践 使用ggplot2可视化一个对象 ggplot2在包中通常用于可视化对象(例如,在一个plot()-风格的函数中)。...然而,提供一个 plot()用于一个对象的可视化总结帮助用户理解该对象是有帮助的。为了满足你的所有用户,我们建议写一个函数将这个对象转换为一个数据框(如果更加复杂,可以是包含数据框的列表)。...这与ggplot()不同,除非交互使用或者显式地调用print(),否则是不是展示的。因为这个原因,ggplot2定义了一个自己的泛型函数autoplot(),调用它会返回一个ggplot()。

    10.6K30

    数据分享|逻辑回归、随机森林、SVM支持向量机预测心脏病风险数据和模型诊断可视化

    在美国和其他发达国家,一半的死亡是由于心血管疾病(点击文末“阅读原文”获取完整代码数据)。 简介 心血管疾病的早期预后可以帮助决定改变高危患者的生活方式,从而减少并发症。...它包括超过 4,000 条记录和 15 个属性。 变量 每个属性都是一个潜在的风险因素。有人口、行为和医疗风险因素。...(可以认为是连续的,因为一个人可以拥有任意数量的香烟,甚至半支香烟。)...糖尿病:患者是否患有糖尿病(标量) • Tot Chol:总胆固醇水平(连续) • Sys BP:收缩压(连续) • Dia BP:舒张压(连续) • BMI:体重指数(连续) • 心率:心率(连续 - 在医学研究中...aes,totChol,fill=TenYerCHD)) cometddata %>% fitr %>% ggplot 由图像知,glucose和hearRate变量有不显着的风险 table1

    36310

    逻辑回归、随机森林、SVM支持向量机预测心脏病风险数据和模型诊断可视化

    在美国和其他发达国家,一半的死亡是由于心血管疾病。心血管疾病的早期预后可以帮助决定改变高危患者的生活方式,从而减少并发症。本研究旨在查明心脏病最相关/风险因素,并使用机器学习预测总体风险。...变量 每个属性都是一个潜在的风险因素。有人口、行为和医疗风险因素。...(可以认为是连续的,因为一个人可以拥有任意数量的香烟,甚至半支香烟。)...糖尿病:患者是否患有糖尿病(标量) • Tot Chol:总胆固醇水平(连续) • Sys BP:收缩压(连续) • Dia BP:舒张压(连续) • BMI:体重指数(连续) • 心率:心率(连续 - 在医学研究中...aes,totChol,fill=TenYerCHD)) cometddata %>% fitr %>% ggplot 由图像知,glucose和hearRate变量有不显着的风险 table1

    2.5K30

    R: ROCR包用于ROC分析

    ROCR包与ROC 一个用于分析ROC的数据是一组连续变量和一组二分类变量,连续变量是预测变量,分类变量是响应变量。 在ROCR包中,这两组数据被称为“predictions“和”labels“。...,结果返回一个S4对象,y.values就是AUC perf_auc <- performance(pred, "auc") ##S4对象,其内包括6个数据## slotNames(perf_auc)...S4对象,里面是返回的x,y的名字及数值,如果调用performance时只传入一个参数,如auc,auc就是这里面的y。...也可以使用ggplot2进行绘制: tibble(x=perf_roc@x.values[[1]], y=perf_roc@y.values[[1]]) %>% ggplot(aes(x=x, y=y...# ggplot2绘图有较大自由性,可以修改部分格式,如下 tibble(x=perf_roc@x.values[[1]], y=perf_roc@y.values[[1]]) %>% ggplot(aes

    5.1K51

    R海拾遗_naniar

    ,就显得有点费力了,在visdat包中,有两个函数vis_dat和vis_miss用于可视化缺失查看 vis_dat library(visdat) vis_dat(airquality) ?...vis_miss不仅提供缺失情况,还提供缺失的数量百分比,同样和上一个函数有同样的缺陷 ##缺失变量关系 查看airquality中Solar.R和Ozone的缺失 通过ggplot对两个变量绘制散点图...NA ## # ... with 143 more rows bind_shadow和nabular可以将这个矩阵绑定在数据框中,称为nabular结构 # 这两种方式生成的内容是一样的 #...# 返回一个三列的tibble,分别为缺失行数、确实个数和确实比例 miss_case_summary(airquality) ## # A tibble: 153 x 3 ## case...结束语 naniar包是一个较新的包,记得去年我还是自己编码进行缺失值分析的,有些函数还是比较有用的,比如对变量和个案分别进行缺失值分析,这个包还在不断的完善中,未来会变得越来越好。

    1K20

    听说 SPOTlight 饼图函数绘图方向是反的:一身反骨!

    在这个帖子中:用 SPOTlight 的函数绘制空转Seurat注释结果的大饼子!,眼明心亮的网友留言说在这里观察到了:饼图绘图中上下方向颠倒了。...如果你在学习生信的过程中觉得孤军难以奋战,可以报名参加我们每月一起的生信入门课程,最新一期在6月2号开课,跟大家一起成长与学习:生信入门&数据挖掘线上直播课6月班。...还有一个数据在分析中发现方向也是反的:12个Cell杂志的疑难杂症空转读取与分析:GSE144240,这个里面已经使用坐标调整进行了解决。下面来看看 SPOTlight  函数绘图问题!...示例数据 数据我还是使用这个帖子中的:用 SPOTlight 的函数绘制空转Seurat注释结果的大饼子!...) 的结果示意如下,就是seurat 对象的metadata 与 反卷积结果的合并在一起: 接着读取 染色切片: img <- png::readPNG("..

    14500

    数据分享|逻辑回归、随机森林、SVM支持向量机预测心脏病风险数据和模型诊断可视化|附代码数据

    在美国和其他发达国家,一半的死亡是由于心血管疾病 简介 心血管疾病的早期预后可以帮助决定改变高危患者的生活方式,从而减少并发症。本研究旨在查明心脏病最相关/风险因素,并使用机器学习预测总体风险。...它包括超过 4,000 条记录和 15 个属性。 变量 每个属性都是一个潜在的风险因素。有人口、行为和医疗风险因素。...(可以认为是连续的,因为一个人可以拥有任意数量的香烟,甚至半支香烟。)...糖尿病:患者是否患有糖尿病(标量) • Tot Chol:总胆固醇水平(连续) • Sys BP:收缩压(连续) • Dia BP:舒张压(连续) • BMI:体重指数(连续) • 心率:心率(连续 - 在医学研究中...=table chisq.test table1 table2=table chisq.test table3=table chisq.test chisq.test ggpairs

    86030

    数据分享|逻辑回归、随机森林、SVM支持向量机预测心脏病风险数据和模型诊断可视化

    在美国和其他发达国家,一半的死亡是由于心血管疾病。 简介 心血管疾病的早期预后可以帮助决定改变高危患者的生活方式,从而减少并发症。本研究旨在查明心脏病最相关/风险因素,并使用机器学习预测总体风险。...它包括超过 4,000 条记录和 15 个属性。 变量 每个属性都是一个潜在的风险因素。有人口、行为和医疗风险因素。...(可以认为是连续的,因为一个人可以拥有任意数量的香烟,甚至半支香烟。)...糖尿病:患者是否患有糖尿病(标量) • Tot Chol:总胆固醇水平(连续) • Sys BP:收缩压(连续) • Dia BP:舒张压(连续) • BMI:体重指数(连续) • 心率:心率(连续 - 在医学研究中...chisq.test table1 table2=table chisq.test table3=table chisq.test chisq.test ggpairs diaBP和sysBP有多重共线性的问题

    25310

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

    使用mutate()添加新变量 除了选择已存在的列,另一个常见的操作是添加新的列。这就是mutate()函数的工作了。 mutate()函数通常将新增变量放在数据集的最后面。...这些函数的一个关键属性就是向量化的:它必须使用一组向量值作为输入,然后返回相同长度的数值作为输出。我们没有办法将所有的函数都列举出来,这里选择一些被频繁使用的函数。...在我们进一步学习之前,我们需要了解一个非常强大的思想:管道。 使用管道整合多个操作 想象你要探索每个位置距离和平均航班延迟的关系。...使用管道进行工作是属于tidyverse的一个重要标准。唯一的例外是ggplot2,它在管道开发之前就已经写好了。不幸的是,ggplot2的下一个版本ggvis会使用管道,但还没有发布。...幸运的是,所有的聚集函数都有na.rm参数,它可以在计算之前移除缺失值。

    3K20

    「R」用purrr实现迭代

    因为R是一门函数式编程语言,我们可以先将for循环包装在函数中,然后再调用函数,而不是使用for循环,因此for循环在R中不像在其他编程语言中那么重要。...)作为输入,并对向量的每个元素应用一个函数,然后返回和输入向量同样长度的一个新向量。...safely()是一个修饰函数(副词),它接收一个函数(动词),对其进行修改并返回修改后的函数。...这样,修改后的函数就不会抛出错误,相反,它总是返回由下面两个元素组成的列表: result - 原始结果。如果出现错误,那么它就是NULL error - 错误对象。...,但有时候我们需要多个相关输入同步迭代,这就是map2()和pmap()函数的用武之地。

    5.4K20

    R入门?从Tidyverse学起!

    数据整理 tibble格式 R中的对多变量数据的标准保存形式是 dataframe,而tibble是dataframe的进化版,它有如下优点: 1....数据操作速度会更快 如下图,直接查看tibble格式的数据,可以一目了然的看清数据的大小和每列的格式 ? 有两种方式来创建tibble格式的数据 1. 直接创建 ? 2....管道函数 %>% 在tidyverse中,管道符号是数据整理的主力,它的功能和Linux上的管道符“|”类似,可以把许多功能连在一起,而且简洁好看,比起R的基本代码更加容易阅读!...这些函数允许在长数据格式(long data)和宽数据格式(wide data)之间进行转换(功能类似于reshape包,但是比reshape更好用,并且可以用于管道%>%连接)。...统计:broom broom是一个用于数学建模的包,以回归分析为例,R中的各种回归分析往往不会返回一个整齐的data frame结果,而broom 则帮助我们直接将统计结果转化为data frame格式直接将统计结果转化为

    3.3K30

    使用 ncov 包获取并分析疫情数据

    昨天的推文里,我介绍了开发一个最简单的 R 包的工作流程,相信不少同学已经对 R 包的开发流程有所了解了,今天我们就用这个 ncov 包获取疫情数据然后分析分析吧!...ncov 对象,初始化的过程中所有的数据都会准备好存储在 df 中: df <- ncov$new() # 可以查看 df 所属的类 class(df) #> [1] "ncov" "R6" 可以看到...df 是一个 ncov 类,而这个类是基于 R6 类进行封装的,下面再看下这个对象中存储的数据,首先是一些字符串: # 当前时间: df$times #> [1] "截至2月8日12时08分"# 确诊人数...df$confirm #> [1] "34598"# 疑似人数 df$suspect #> [1] "27657"# 治愈人数 df$cure #> [1] "2052" plot() 函数 我在 ncov...类里封装了一个 plot 函数,这个函数封装了 hchinamap 包的 hchinamap 函数,因此可以直接使用 plot() 作用 ncov 对象进行绘图: # 确诊人数的省份分布: plot(

    1.6K20

    dpois函数_frequency函数

    幸运的是,所有聚合函数都有一个na.rm参数,该参数在计算之前删除缺失值: flights %>% group_by(year, month, day) %>% summarise(mean...在查看此类图时,过滤掉具有最少观察数的组通常很有用,因此可以看到更多的模式,而不是最小组中的极端变化。这就是下面的代码所做的,并向您展示了将ggplot2集成到dplyr流中的便捷模式。...过滤提供所有变量,每个观察在一个单独的行中: not_cancelled %>% group_by(year, month, day) %>% mutate(r = min_rank(desc...当与数字函数一起使用时,TRUE转换为1,FALSE转换为0。这使得sum()和mean()非常有用:sum(x)给出x中的TRUE数,而mean(x)给出比例。...当您按多个变量分组时,每个概括都会剥离一个分组级别。

    2.1K10

    基于 mlr 包的 K 最近邻算法介绍与实践(上)

    KNN 算法基本要素 KNN 算法中,所选择的邻近实例都是已经正确分类的对象,该算法只依赖于最邻近的一个或者几个实例的类别来决定待分样本所属的类别,分类器不需要使用训练集进行训练,训练时间复杂度为 0,...在 mlr 中定义任务 因为要构建一个分类模型,故使用 makeClassifTask() 函数来定义一个分类任务,当构建回归和聚类模型时,将分别使用 makeRegrTask() 和 makeClusterTask...makeLearner() 函数的第一个参数是用来训练模型的算法,在本例中,是使用 KNN 算法,因此指定参数为 "classif.knn"。...在 mlr 中训练模型 这个过程通过 train() 函数实现,它将 learner 作为第一个参数,而任务作为第二个参数。...该函数将模型预测的类与真实的类进行比较,并返回预测值与真实值之间匹配程度的性能指标。

    2.4K21

    R包基础实操—tidyverse包

    tidyverse包,分享整洁数据的基础设计理念、语法和数据结构。...核心软件包是ggplot2、dplyr、tidyr、readr、purrr、tibble、stringr和forcats,它们提供了建模、转换和可视化数据的功能。...其中,readr包用于读取数据,tidyr包用于整理数据,dplyr包用于数据转换,ggplot2包用于数据可视化,purrr包用于函数式编程。...1 readr包:快速读写 1-1 readr包提供了几个新函数,能够更快的读取文件 readr包中的主要的函数有: read_csv,read_tsv,read_table,read_delim, write_csv...map_dfr(.x, .f): 返回数据框列表,再 bind_rows 按行合并为一个数据框 map_dfc(.x, .f): 返回数据框列表,再 bind_cols 按列合并为一个数据框 library

    3.9K30
    领券