
R
文章平均质量分 82
Kanny广小隶
每一个不曾起舞的日子,都是对生命的辜负。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
为什么不能说“接受原假设”?
我们主要从几个方面来说明,当统计中假设检验不显著时,为什么需要说 **不拒绝原假设** 而不能说 **接受原假设** 。原创 2022-04-10 16:20:52 · 5191 阅读 · 0 评论 -
Mac上解决中文绘图储存本地报错问题
installing https://www.xquartz.org/Refhttps://github.com/yixuan/showtext/issues/13https://d.cosx.org/d/420608-mac-10-13-6-17g6030-showtext原创 2021-01-04 15:52:25 · 718 阅读 · 0 评论 -
R代码格式一键美化
https://stackoverflow.com/questions/15703553/auto-format-r-code-in-rstudioctrl + shift + Alibrary(formatR)# tidy_eval("file path")tidy_eval("C:/Users/PC_name/Desktop/myfile.R")tidy_app()原创 2020-10-12 21:09:10 · 9476 阅读 · 0 评论 -
Ubuntu上更新R版本(完全攻略)
https://www.biostars.org/p/88651/https://stackoverflow.com/questions/10476713/how-to-upgrade-r-in-ubuntuhttps://cran.r-project.org/bin/linux/ubuntu/原创 2020-09-17 22:48:23 · 9472 阅读 · 1 评论 -
部分算法与对应代码整理(R、Python)
目录1. 图像、人脸、OCR、语音相关算法整理2. 机器学习与深度学习相关的R与Python库(1)RGeneral-Purpose Machine LearningData Manipulation | Data Analysis | Data Visualization(2)PythonComputer VisionNatural Language ProcessingGeneral-Purpose Machine LearningData Analysis / Data VisualizationMi原创 2020-09-09 16:15:41 · 5056 阅读 · 0 评论 -
R语言绘制散点图结合边际分布图
librarylibrary(ggplot2)library(ggExtra)load dataload(“a.rda”)transform datadat_plot <- data.frame(rbind(b1, b2, b3),factor(rep(1:3, each = nrow(b1))))names(dat_plot) <- c(“x1”, “x2”, “group”)classic plotp <- ggplot(dat_plot) +geom_point原创 2020-08-03 16:39:02 · 9145 阅读 · 1 评论 -
R语言绘制棒棒糖图(火柴杆图)
Create a Lollipop chart:Color by groups and set a custom color palette.Sort values in ascending order.Add segments from y = 0 to dots. Change segment color and size.ggdotchart(dfm, x = “name”, y = “mpg”,color = “cyl”,palette = c("#00AFBB", “#E7B800”,原创 2020-08-03 15:08:09 · 11596 阅读 · 0 评论 -
R语言保留小数点后几位(末尾为0也保留)
当我们在进行一些学术论文的表格生成时,需要对我们的数据进行规范化处理。比如保留小数点后四位的操作。大家用的最多的代码应该就是使用 round() 函数进行保留,具体做法我们以一个数字为例:12.345678。我们想保留小数点后四位可以进行如下操作。round运行下述代码,即可得到我们想要的结果:12.3456round(12.345678, 4)但如果我们想要保留这个数字之后的四位:12.345006,此时使用 round(12.345006, 4) 就会得到 12.345 这个结果,那如果我原创 2020-06-04 22:18:15 · 30461 阅读 · 3 评论 -
ggplot绘制画中画的方法(细节放大)
当我们在利用ggplot绘图时,当遇到一些量纲相差过大,或者一些图的某些点排布密集时,需要将细节部分进行放大,这时我们就需要采用画中画的方式,或者将统计图的细节在旁边进行放大。下面我们就来一步一步讲解如何将图中的细节进行放大(核心为ggforce包)。话不多说,先上最终效果图(以2019年双十一数据拟合为例):1. 载入相关包library(ggplot2) # 绘图核心librar...原创 2020-04-26 00:04:42 · 4109 阅读 · 0 评论 -
ggplot绘制置信区间 与 分组绘图技巧
1. 单组情况1)构造数据集x <- 1:10y <- x^2ci_l <- x^2 - 0.5 * xci_r <- x^2 + 0.5 * xdat_plot <- data.frame(x, y, ci_l, ci_r)数据集长下面这样: x y ci_l ci_r1 1 1 0.5 1.52 2 4 ...原创 2020-04-24 00:52:45 · 20345 阅读 · 10 评论 -
用 R 从 GitHub 上安装包(很大程度上解决网络问题)
当我们想使用 R 安装一些 Github 相关的软件包,经常会遇到或者或那的网络问题,此时我们需要怎么做呢?以最近大家分析疫情数据经常用的 Y叔的 nCov2019 包为例,通常我们可以使用如下的尝试顺序:1. remotes 包安装install.packages("remotes") # 首先安装 remote 包remotes::i...原创 2020-03-12 00:09:23 · 25093 阅读 · 5 评论 -
利用R语言解压与压缩 .tar.gz .zip .gz .bz2 等文件
最近尝试用 R 对一些文件进行批量的解压与压缩,这里记录一些常用的解压与压缩的方法。由于解压与压缩是对称的两种方法,这里我们着重以对文件的解压为例,分不同的格式进行讲解。.zip压缩:zip()解压:unzip()若要压缩文件,就直接在 zip() 函数的第一个参数里面输入压缩后的文件名,第二个参数输入压缩前的文件名。而解压文件就更简单了,直接利用 unzip() 里面加上需要解...原创 2019-12-27 21:43:29 · 32198 阅读 · 0 评论 -
R 语言中对文件的操作
由于最近在处理一些真实数据时涉及到嵌套的 .tar.gz 文件的解压,手动一个一个解压过于麻烦。可以使用 shell 脚本或者 bat 脚本来做,但想尝试使用 R 语言对其进行完全解压,这里就需要涉及到对文件与文件夹的一些操作。网上已经有许多现有教程,这里参考了很多网上的代码,不过会尝试尽量写得更加详细。整篇文章我们的测试目录结构如下(生成目录结构树,可以直接在当前路径下打开命令行窗口,输入:...原创 2019-12-27 20:40:36 · 787 阅读 · 0 评论 -
R 绘图中的公式如何与变量对象混合拼接
当涉及到数学或统计公式时,我们在R中进行绘图时,xlab <- bquote(N * "(0, 1)" ~ ' with m =' ~ .(m) ~ ', n =' ~ .(n))xlab <- bquote((5/3) ^ "-1/2" * t(5) ~ ' with m =' ~ .(m) ~ ', n =' ~ .(n))xlab <- bquote(8 ^ "-1/...原创 2019-12-24 21:05:44 · 3129 阅读 · 1 评论 -
ggplot 添加左右两边的y轴(以天猫双十一销量与增长率为例)
本篇博客主要介绍如何在 R 中,使用 ggplot2 包在一个图像上添加左右两个 y 轴刻度,并在同一个图像上绘制两个完全不一样的统计图。另外本篇博客是以天猫双十一销量与增长率为例,原始的数据可以参考上一篇文章:用 ggplot 重绘天猫双十一销售额图,这里不再作过多的介绍。同时整个的天猫双十一的销售额数据分析可以关注:天猫双十一“数据造假”是真的吗?老规矩,先上最终成果(两张图只是颜色的差...原创 2019-11-29 15:06:30 · 5922 阅读 · 0 评论 -
玩一玩天猫双十一数据
最近和小伙伴一起探索了一下双十一后闹得沸沸扬扬的一篇文章:“淘宝2009-2018年历年双十一销售额数据造假”。原文作者使用初中阶段学过的抛物线,就将每年的销售额增长趋势拟合得非常完美。(如果大家想学习如何画出上述的图像,可参见前面一篇博客:用 ggplot 重绘天猫双十一销售额图)同时在知乎上,这个问题也成功上了当时的热搜榜,各路大神云集,也发表了很多很有意思的观点:如何看待有人质疑淘宝双...原创 2019-11-28 21:24:01 · 642 阅读 · 0 评论 -
用 ggplot 重绘天猫双十一销售额图
前一段时间,很多人被这张图刷屏了:这张图的来源是一篇名为 “淘宝2009-2018年历年双11销售额数据造假” 的文章。图中散点为天猫双十一销售额数据,曲线为原作者拟合的回归线。乍一看散点完美地分布在曲线上,原作者便直接声称:“淘宝双十一销售额数据造假!不可能有这么完美的拟合!” 可事实真的是这样吗?作为一个热爱画画的博主,我们先不来考虑这个问题,直接来试着在 R 中绘制出上图,一个更好看版...原创 2019-11-26 00:21:43 · 629 阅读 · 0 评论 -
ggplot 中的分面去掉小标题的灰色底色
当我们在使用 ggplot 时,使用分面通常会长下面这样(这里用 ggplot 的官方案例):p <- ggplot(mpg, aes(displ, hwy)) + geom_point()p + facet_wrap(~class)此时,我们想将背景的灰色底色去掉,可以用我们常用的 theme_bw():p + facet_wrap(~class) + theme_bw()...原创 2019-10-31 14:46:00 · 7107 阅读 · 3 评论 -
Rcpp 中 List 类型
Rcpp::List ListFun(MatrixXd X) {Eigen::MatrixXd sigma, theta;return List::create(Named(“theta”) = theta, Named(“sigma”) = sigma);}void TestFun(MatrixXd X, MatrixXd Y) {Rcpp::List stats_x, stats_y...原创 2019-10-31 09:16:14 · 901 阅读 · 0 评论 -
RcppEigen 计算点乘与矩阵乘法 连乘计算错误
X.adjoint().array().square() * X.array().square()Eigen::MatrixXd A, B;A = X.adjoint().array().square();B = X.array().square();A * B原创 2019-10-29 20:54:47 · 960 阅读 · 0 评论 -
R中corrplot的标题居中及eps格式输出
由于论文的需要,很多R语言绘图需要eps格式矢量图的方式进行输出,同时最近也需要绘制相关性图,因此决定写个博客作为记录。相关性图R中相关性图有两种比较简单的画法,一个是使用corrplot包,另一个则是使用ggcorr,利用这两个包,即可绘制出非常美观的相关性图了。这里不对两个包进行细讲,仅仅只是针对在使用过程中遇到的问题进行解决。corrplot在使用corrplot进行绘图时,如果我...原创 2019-03-15 19:39:47 · 5975 阅读 · 0 评论 -
R 语言储存矢量图
之前写的博客中有提及过如何在 R 语言中绘制矢量图,然后用于论文引用。但没有专门开一篇博客来进行说明比较,这里重新开一篇博客来进行说明。通常保存为矢量图可能大多数时候是为了论文中的引用,所以格式一般为 EPS, PDF 这两种格式,这里也主要针对这两种格式进行说明。1. R 中自带的默认绘图通常我们使用 plot(), lines(), points(), hist() 等一些 R 中自带...原创 2019-08-30 11:06:27 · 11343 阅读 · 1 评论 -
尝试使用 installr 包更新 R
由于本地 Windows 的 R 版本太过老旧,而服务器上的版本较新,许多地方已经不兼容,例如在服务器上储存出来的 rda 文件再到本地老旧的 R 版本上无法运行。这时就会想到如何升级我们的本地 R 版本,对于 Windows 系统而言,比较简单的安装方法是重新从官网下载新的 R 版本,然后我们将旧版本中的 packages 全部 copy 到新版本对应的路径下,重启 RStudio 即可。但...原创 2019-09-19 14:36:57 · 1231 阅读 · 1 评论 -
R 语言读取 rda 文件时,magic number 'RDX3' 报错
当我们需要储存 R 语言的数据文件时,通常会使用 save() 函数储存为 .rda 文件的格式,然后读取时再使用 load() 函数进行读取。通常情况下,这样做是完全不会有问题的,但最近遇到了一个之前未曾遇到过的很诡异的错误:Error: bad restore file magic number (file may be corrupted) -- no data loadedIn ad...原创 2019-09-19 14:58:36 · 12559 阅读 · 5 评论 -
制作R包后,出现 "..." not available for .Call() for package "..." 错误
有一段时间没有做过 R 包了今天在尝试制作 R 包时,制作、生成、载入都没有遇到问题,但在载入 R 包内用 Rcpp 写得函数时出现了如下问题(做的包名叫 RI,调用的函数也是 RI):Error in .Call("_RI_RI", PACKAGE = "RI", X, Y) : "_RI_RI" not available for .Call() for package "RI"后...原创 2019-09-27 10:59:35 · 2257 阅读 · 1 评论 -
利用RcppEigen进行矩阵运算
前面我们介绍了一些基本的Rcpp的用法:让你的R代码更快——Rcpp入门,但用基础的Rcpp来进行矩阵运算还是非常麻烦,没有现成的函数来让我们使用。这时我们就想到:是否可以调用别的库来解决矩阵运算的一些问题呢?这就需要我们的RcppEigen包,也就是C++中的Eigen库。这些矩阵的运算在进行模拟时会时常遇到,所以可以说是非常重要的一项技能,下面我们就给予一个现有的对矩阵处理的代码来说明...原创 2018-08-23 13:19:04 · 5568 阅读 · 4 评论 -
R进行绘图时输出希腊字符、上标、下标及数学公式
通常在我们写论文时,所需要的统计图是非常严谨的,里面的希腊字符与上下脚标都必须要严格书写。因此在使用R绘图时,如何在我们目标图中使用希腊字符、上标、下标及一些数学公式呢?在本博客中我们会进行详细的说明。后面我们都将以一个最简单的绘图为例,只是将其标题进行修改。希腊字母使用希腊字符、上标、下标及数学公式,都需要利用一个函数:expression(),具体使用方式如下:plot(cars)...原创 2019-03-15 16:49:37 · 59760 阅读 · 3 评论 -
【牛客】翻转数列 及 牛客网答题需注意的地方
这道题是2019腾讯暑期实习数据分析一面时问的三道题中的一道。其实题目现在回想起来并不难,但当时基本没刷过题 + 最熟的语言是R + 灰常紧张的状态,并没有很好的完成这道题。翻转数列题目比较容易读懂(原文链接):小Q定义了一种数列称为翻转数列:给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4…, 每隔m个符号翻转一次, 最初符号为’-’;。例如n =...原创 2019-03-09 20:50:36 · 636 阅读 · 0 评论 -
一些变量筛选方法——6、代码
之前有小伙伴说希望公开之前变量筛选文章的代码,这里时隔好多个月,或许都一年了,将之前的代码整理出来了。当时由于时间有限,只有几天的时间将论文和代码赶出来,所以写的不是很好,全程for循环,还请见谅!CodeSimulation# --------------------- simulation --------------------- #library(glmnet)librar...原创 2019-01-16 15:45:25 · 7684 阅读 · 10 评论 -
插补缺失数据的几种方法:《Statistical Analysis with Missing Data》习题4.15
一、题目本题基于之前习题1.6产生关于(Y1,Y2,U)(Y_1, Y_2, U)(Y1,Y2,U)的模拟数据:yi1=1+zi1y_{i1}=1+z_{i1}yi1=1+zi1yi2=5+2∗zi1+zi2y_{i2}=5+2*z_{i1}+z_{i2}yi2=5+2∗zi1+zi2ui=a∗(yi1−1)+b∗(yi2−5)+zi3u_i=a*(y_{i1}-1)+b*(...原创 2018-10-20 21:14:31 · 1993 阅读 · 0 评论 -
检验数据缺失的类型:《Statistical Analysis with Missing Data》习题1.6
题目解答由于题目要求需要重复三次类似的操作,故首先载入所需要的包,构造生成数据的函数以及绘图的函数:library(tidyr) # 绘图所需library(ggplot2) # 绘图所需# 生成数据GenerateData &amp;amp;lt;- function(a = 0, b = 0, seed = 2018) { set.seed(seed) z1 &amp;amp;lt;- r...原创 2018-09-22 18:01:33 · 2076 阅读 · 0 评论 -
tidyr+ggplot2多个变量分层展示
在R语言普通的绘图中,使用par()参数可以在一张图上实现不同变量的子图。如果我们想要用ggplot2实现,则需要整理我们的原始数据,这通常是非常麻烦的,这时就需要用到我们的tidyr来帮助我们绘图。可能说上面一段话不是很容易理解,下面我们来举个栗子。每个变量的密度分布情况:y1 <- rnorm(20)y2 <- rnorm(20)dat <- data.f...原创 2018-09-06 21:26:18 · 4578 阅读 · 1 评论 -
RStudio制作包含Rcpp代码的R包
前面博客中有提及,当我们进行模拟想要再次进行提速时,通常都会使用Rcpp将我们的R代码改成C++代码。具体Rcpp的使用可参考博客:让你的R代码更快——Rcpp入门,利用RcppEigen进行矩阵运算。平时在我们使用的时候,直接使用Rcpp::sourceCpp()就可以直接将我们的C++代码中的函数进行导入,这不会遇到什么问题,但如果我们想要使用snowfall进行并行时就不能再这样做了。遇...原创 2018-08-31 20:54:32 · 4967 阅读 · 3 评论 -
使用R读取xls与xlsx文件
在数据分析的过程中,第一步就是读取数据。通常我们遇到的数据是csv格式或者txt格式的数据,这时我们使用系统自带的read.csv()与read.table()就可对这些格式的数据进行读取,只是读取时需注意编码格式。对于大型csv格式的数据(当然小数据也可以),可以使用data.table包中的fread()进行读取可以极大地提升读取速度。但当遇到了Excel表生成的文件,读取起来相对就没...原创 2018-08-21 18:46:19 · 26228 阅读 · 2 评论 -
让你的R代码更快——Rcpp入门
当我们使用R进行论文模拟时,通常会涉及到许多的循环。一般比较容易的提速方法是将我们的for循环改写为apply族的方法进行向量化运算,但这个方法速度提升的有限,在真实模拟时,如果要与其他算法进行速度的比较,除非自己的算法非常出色,否则还是很难与一些成熟包中的算法相庭抗礼。这时想要再次进行提速,有多种方法,常见的几种是将代码改写为Fortran代码,改写为C++代码抑或改写为C代码。由于Rcpp...原创 2018-08-23 11:32:53 · 12915 阅读 · 0 评论 -
R中两种常用并行方法——2. snowfall
上一篇博客中已经介绍了R中常见的一种并行包:parallel,其有着原创 2018-08-16 17:08:54 · 10139 阅读 · 4 评论 -
R中两种常用并行方法——1. parallel
由于最近在进行一些论文的模拟,所以尝试了两种并行的方法:parallel与snowfall,这两种方法各有优缺,但还是推荐snowfall,整体较为稳定,不容易因为内存不足或者并行线程过多等原因而报错。在模拟时什么地方可以用到并行?并行操作一般适用于重复的操作,比如重复随机按照相同分布生成数据,然后分别同时进行模拟。这里就可以用并行。亦或者我们要做permutation计算p-valu...原创 2018-08-16 12:01:13 · 19062 阅读 · 0 评论 -
服务器上装R包
在服务器上使用R装包分为两种情况,一种是常规通过网络来进行安装,另一种是直接将R包拖动到服务器的指定路径下在进行本地安装,两者的安装方式是不一致的。通过网络安装这种安装方式相对简单,首先进R,然后使用下述命令进行包的安装:install.packages(package_name)之后会弹出一个界面需要进行镜像的选择,这时候我们通常会使用国内的镜像,也就是4,当然还有更多的国内...原创 2018-08-14 15:47:01 · 6397 阅读 · 0 评论 -
RCode对比RStudio使用体验
本周体验了R的一个新的 IDE(Integrated Development Environment,开发环境)—— RCode。官方网址:https://www.pgm-solutions.com/rcode,目前已经支持Windows,Linux与MacOS。说到R中的IDE,一定会与 RStudio 进行对比,本文着重就两者之间的不同,进行对比。先放上结论:RCode 略显“华而不实”,...原创 2018-04-27 11:58:50 · 6295 阅读 · 0 评论 -
缺失数据的Bootstrap与Jackknife方法:《Statistical Analysis with Missing Data》习题5.1 & 5.2
一、题目5.1本题基于之前习题1.6产生关于(Y1,Y2,U)(Y_1, Y_2, U)(Y1,Y2,U)的模拟数据:yi1=1+zi1y_{i1}=1+z_{i1}yi1=1+zi1yi2=5+2∗zi1+zi2y_{i2}=5+2*z_{i1}+z_{i2}yi2=5+2∗zi1+zi2分别利用Bootstrap,Jackknife以及解析式三种方式来估计Y2Y_2Y2...原创 2018-10-20 21:15:48 · 2793 阅读 · 0 评论