R语言
文章平均质量分 60
Xiaofei@IDO
这个作者很懒,什么都没留下…
展开
-
R 语言 管道操作符
关于代码的简洁性,就是你使用了比较简化的高级操作符,但是有时候会增加代码的可读性。这种可读性在于你是否真正的去了解R的高级语法。你了解高级语法,他就不难,你不了解,他就难,可读性差。这里我们来讲解一下,关于管道操作符,使R语言编程简化一些。原创 2022-12-31 23:18:15 · 1144 阅读 · 0 评论 -
windows 安装 并行处理的包 doMC
【代码】windows 安装 并行处理的包 doMC。原创 2022-10-27 14:30:29 · 682 阅读 · 2 评论 -
R 两种基础的进度条
第一种:tcltk包(弹出式)实现逻辑:① 循环之前② 循环中③ 循环结束之后具体示例## 第一个位置:新建一个其实进度条弹窗pb <- tkProgressBar("进度","已完成 %", 0, 100) star_time <- Sys.time() ## 记录程序开始时间for (i in 1:nrow(my_data)){ …… ## 循环的主体 ## 第二个位置:实时反映进度 info <- sprintf("已完成 %f%%原创 2022-04-09 17:49:31 · 1206 阅读 · 1 评论 -
R语言正则表达式基础
一、背景正则表达式,是根据字符串规律按一定法则,简洁表达一组字符串的表达式。正则表达式通常就是从貌似无规律的字符串中发现规律性,进而概括性地表达它们所共有的规律或模式,以方便地操作处理它们,这是真正的化繁为简,以简御繁的典范。几乎所有的高级编程语言都支持正则表达式,正则表达式广泛应用于文本挖掘、数据预处理,例如:检查文本中是否含有指定的特征词找出文本中匹配特征词的位置从文本中提取信息修改文本正则表达式包括:只能匹配自身的普通字符(如英文字母、数字、标点等)和被转义了的特殊字符(称为‘‘元字原创 2022-04-09 14:15:52 · 4662 阅读 · 0 评论 -
优雅的循环迭代和泛函数编程-purr packages 和 map 函数
一、背景多数情况下,我们经常在R语言编程中,使用循环处理各种数据,已达到必要的结果。在R语言中,写循环的修仙道路:手动for循环—apply函数族—purr包的泛函数式编程。关于purrr 与 apply 族:purrr 提供了更多的一致性、规范性和便利性,更容易记住和使用。速度来说,apply 族稍微快可以忽略不计的一丢丢。基于 purrr 包的泛函式循环迭代的核心思想及常用操作:循环迭代,就是将一个函数依次应用(映射)到序列的每一个元素上。常用操作:map():依次应用一元函原创 2022-03-29 21:32:10 · 953 阅读 · 0 评论 -
R 基本函数sweep的使用(apply函数的利器)
1、背景最近,在进行数据集的标准化处理的时候,遇到了sweep函数。这是我使用R这么久第一次看到这个函数的使用。不得不感叹R的强大。好了,不感叹了,学海无涯,继续奋斗吧!!!sweep函数主要用于各种统计量的操作,该统计量通常来自于apply函数,这也是经常使用的统计量(比如按行求和,求均值,求中位值等)。对统计量的处理,比如,我们计算每一行/列减去均值(均值中心化),或者除以均值(均值标准化)等,sweep行数就发挥作者用了。sweep函数有效的替代了for循环接下来,我们来讨原创 2022-02-13 12:59:46 · 3012 阅读 · 0 评论 -
手把手教你制作R包(一)
一、准备工作安装开发所需的R包:devtoolsinstall.packages("devtools")library(devtools)install.packages("roxygen2")library(roxygen2)二、创建R包2.1 初始化R包基于create_package()函数初始化一个名为plotAUC的R包;基于roxygenize()函数生成帮助文档(一般产生一个空的man目录)。执行完成后,将在当前目录下创建plotAUC文件夹,并在新生成的文件中,自原创 2022-01-29 17:55:28 · 5902 阅读 · 1 评论 -
基于Centos7的Rstudio-server安装
一、Rstudio-server的下载与安装1.1 sudo权限一般情况下,我们推荐使用root权限,因为权限越大,安全性越低。vim /etc/sudoers备注:注意修改前sudoers的权限,一般是不可更改的。可使用root权限修改为可更改的,然后在root ALL=(ALL) ALL在起下面添加xxx ALL=(ALL) ALL # 这里的xxx是你的用户名1.2 下载并安装Rstudio-server# 官网:https://www.rstudio.com/product原创 2022-01-25 14:41:57 · 1176 阅读 · 0 评论 -
R 语言中的特殊函数 - 左中括号 “[“
1. 函数"["在R里作为一个函数使用,举个例子就知道了:2. 示例 1:用于向量比如x是一个vector:x <- 1:10那么,x[2]等同于“[”(x, 2),就是return向量x的第二个数。3. 示例2:用于sapply函数中或列表中如果name是一个list:name <- list(1:10, 2:12)则sapply(name, “[”, 2)就是分别取两个list里的第二个数,结果为2,3...原创 2021-04-22 11:48:48 · 2450 阅读 · 0 评论 -
极简R packages编译
背景最近在整理代码,如果将代码模块化,能够显著增加代码的重用性,于是开始做R-package,将做的过程记录下来。以下是简单的制作过程。准备阶段安装好 R。安装RStudio。安装 Rtools程序:Windows 操作平台,请安装 rtools,去官网下载 exe 安装(https://cran.r-project.org/bin/windows/Rtools/);Linux 操作平台,请安装对应的 R 开发包,Debian/Ubuntu 下就是运行命令 sudo apt-ge原创 2021-03-03 11:29:25 · 840 阅读 · 0 评论 -
线性混合模型
背景线性模型需要满足正态性、独立性和同方差性等假设,其中独立性是线性模型最重要的假设之一,独立性要求每一个数据点必须来自于不同的总体。但由于重复测量数据、区组数据以及空间相关数据不能满足独立性假设,因此常常利用线性混合效应模型对上述数据进行分析(如相关性分析)。以一个探索基因表达量与采样距离相关性为例。该数据来自于“ntegrated transcriptomic analysis of distance-related field cancerization in rectal cancer pat原创 2021-02-27 21:00:39 · 8911 阅读 · 2 评论 -
设置R下载镜像
进入R编辑环境,输入如下代码,设置清华镜像。local( { r <- getOption("repos") r[“CRAN”] <- "http://mirrors.tuna.tsinghua.edu.cn/CRAN/" options(repos=r) })原创 2021-01-23 16:50:21 · 765 阅读 · 0 评论 -
不同长度向量合并为dataframe - list转dataframe
># 构造列表> (a_list = list(+ c(1, 1, 2, 5, 14, 42), + month.abb,+ c(1, 1, 2, 5, 14, 42, 22,88, 0)))# [[1]]# [1] 1 1 2 5 14 42# # [[2]]# [1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"# # [[3]]# [1] 1原创 2021-01-20 10:45:41 · 1394 阅读 · 0 评论 -
R语言的匹配函数 - pmatch
pmatch该函数的一个用途是:在设置函数参数时,限制输入的参数范围。pmatch(x, table, nomatch = NA_integer_, duplicates.ok = FALSE)# 返回首次匹配元素在table中的位置x:标量或向量,必须为 character类型table:向量,必须为 character 类型nomatch:未匹配时返回值,必须设定为 int 类型duplicates.ok:在匹配过程中,当存在多匹配时,会返回首次匹配的位置,并从记录中删除,再次匹配时将原创 2020-12-30 16:53:28 · 2290 阅读 · 0 评论 -
ggplot2 绘制热图
是时候改变一下思维了,我们来看另一种热图绘制方式。library(ggplot2)library(ggtree)library(aplot)library(tidyr)library(magrittr)p <- scale(mtcars) %>% data.frame()#绘制行聚类树phr <- hclust(dist(p)) %>% ggtree(layout="rectangular", branch.length="none")#绘制列聚类树phc <原创 2020-12-26 14:29:03 · 3601 阅读 · 2 评论 -
R语言的 stringr字符串系列函数
转自: https://zhuanlan.zhihu.com/p/27414629install.packages(‘stringr’)library(stringr)3. stringr的API介绍stringr包1.0.0版本,一共提供了30个函数,方便我们对字符串处理。常用的字符串的处理以str_开头来命名,方便更直观理解函数的定义。我们可以根据使用习惯对函数进行分类:字符串拼接函数str_c: 字符串拼接。str_join: 字符串拼接,同str_c。str_trim: 去掉字符串的原创 2020-12-06 18:12:04 · 4477 阅读 · 0 评论 -
ggplot2:坐标轴或legend的label长度
1. 示例clusterProfiler包用于富集分析和可视化是非常好用的,语法简洁而统一。但是使用clusterProfiler包进行富集分析并绘图有时会遇到一个情况:一个富集分析的Terms的长度太长,会导致图片的轴标题或者legend很长,就会压缩了主绘图区域的显示。一个示意图如下图所示,其实此图中的GO Terms长度相对是可以接受,实际情况下可能会遇到非常长的GO Terms,导致整个图的比例非常失调。如果可以按照一定的长度折叠过长的GO Terms的话,那么这个问题就能得到解决了。li原创 2020-12-06 18:09:26 · 5707 阅读 · 0 评论 -
R语言捕获错误
tryCatch语法R语言中捕获错误的方法。基本语法:result = tryCatch({ # 主体表达式,存在于花括号中 expr}, # 捕获warning,执行warning韩式,参数为warning信息warning = function(warning_condition) { warning-handler-code}, # 捕获error,执行error函数,参数为error信息error = function(error_condition) {原创 2020-09-23 09:18:18 · 1327 阅读 · 0 评论 -
R语言-高效处理多个数据集(Reduce-向量化操作)
Reduce向量化操作前言定义参数前言 想到这个函数,是因为希望同事处理多个数据集的交集。如果按照常规的方法就是两两交集,直到最后全部完成。但是,想着应该有类似“do.call”的函数(此函数多用于多个数据框的合并,感兴趣的可以比较一下)。于是看到了 Reduce 函数。现介绍如下。定义Reduce(f, x, init, right = FALSE, accumulate = FALSE)参数f:一个含有两个参数的函数,可以是自定义的,也可以是R语言内置的操作符(比如,+,-,*等)原创 2020-06-15 09:55:17 · 7423 阅读 · 1 评论 -
R语言如何输出数学表达式文本
数学表达式详细展示基本语法常见的R数学表达式语法基础运算符高等数学常见运算符上下标箭头符号集合运算符导数运算符特殊字体希腊字母基本语法在R语言中,输出图中添加一些数据表达式,可以增加图的解释性。基本语法是:通过 expression 函数转化相应的表达式术语为用户友好型的表达式library(ggplot2)x <- 1:100y <- 1 / xdf <- dat...原创 2020-04-10 14:14:07 · 3395 阅读 · 0 评论