R语言

答读者问~R语言ggplot2添加拟合曲线并给指定点添加注释

白昼怎懂夜的黑 提交于 2021-02-20 11:05:03
image.png 昨天收到了公众号一位读者的邮件,今天的推文回答一下开头提到的问题。还是使用昨天推文的示例数据:3个品种小麦种子的7个不同的指标,这7个指标分别是 A 面积 B 周长 C紧凑度 LK 长度 WK 宽度 A_coef 偏度系数 LKG 腹沟长度 使用周长和面积构建拟合方程 首先是读入数据 seed <- read.csv( "kaggle/Seed_Data.csv" ,header=T) names(seed) <- c( "Area" , "Perimeter" , "Compactness" , "Length" , "Width" , "Asymetry.coef" , "Grove.length" , "Type" ) head(seed) seed $Type <- as.factor(seed $Type ) 拟合方程 fitted.model<-lm(Area~Perimeter,data = seed) summary(fitted.model) image.png 接下来是使用ggplot2画图 library(ggplot2) ggplot()+ geom_point(data=seed,aes(x=Perimeter,y=Area), size=5,color= "red" ,alpha=0.3)+ geom_abline(intercept

R可视化 | 气泡图

北战南征 提交于 2021-02-13 03:38:18
气泡图 气泡图是一种多变量图表,是散点图的变体,也可以认为是 散点图和百分比区域图的组合 [1] 。气泡图最基本的用法是使用三个值来确定每个数据序列,和散点图一样。气泡图通过气泡的位置及面积大小,可分析数据之间的相关性。 本文可以看作是《R语言数据可视化之美》的学习笔记。前两部分可见(跳转): 趋势显示的二维散点图 分布显示的二维散点图 该书对气泡图的绘制并不是非常详细,小编将内容进行了大量拓展。下面的例子将一步步带你完成气泡图的绘制。本文内容丰富,希望大家都能学到自己想要的内容。 下面的例子将一步步带你完成气泡图的绘制。本文内容丰富,希望大家都能学到自己想要的内容。 本文框架 数据介绍 数据集来源gapminder包中,包含了1704行和6个变量。其中6个变量含义分别为: country 国家142个水平 continent 大陆5个水平 year 1952年-2007年(间隔为5年) lifeExp 出生预期寿命,以年计数 pop 人口数 gdpPercap 人均国内生产总值(扣除通货膨胀因素后的美元) 由于数据过多,我们感兴趣的是年份为2007年的数据,所以使用dplyr包进行数据处理,具体数据处理案例可见我写的另一篇推送: [R数据科学]tidyverse数据清洗案例详解 。数据缩略版如下: 手把手绘制 geom_point()函数构建 气泡图是添加了第三维度的散点图

R语言的介绍

落花浮王杯 提交于 2021-02-09 16:01:34
获取帮助 函数 功能 help.start() 打开帮助文档首页 help("foo")或?foo 查看函数foo的帮助(引号可以省略) example("foo") 函数foo的使用示例(引用可以省略) RSiteSearch"foo" 以foo为关键词搜索在线文档和邮件列表存档 apropos(“foo”.mode="function") 列出名称中含有foo的所有可用函数 data() 列出当前以加载包中所含的所有可用示例数据集 vignette() 列出当前已安装包中所有可用的vignette文档 vignette("foo") 为主题 foo 显示指定的 vignette 文档 管理工作空间的函数 函数 功能 getwd() 显示当前的工作目录 setwd("directory") 修改当前的工作目录为“mydirctory” 注意不会创建一个不存在的目录,可用dir.create()创建目录 ls() 列出当前工作空间的对象 rm(objectlist) 移除(删除)一个或多个对象 help(options) 显示可用选项的说明 options() 显示或设置但当前选项 history(#) 显示最近使用的#个命令,默认值为25个 savehistory("mylife") 保存命令历史到文件myfile中(默认值为.Rhistory) loadhistory(

遇见了这个数据分析神器,我二话不说就丢掉了Excel透视表

丶灬走出姿态 提交于 2021-02-05 16:42:03
提到数据分析工具,大家肯定最先想到的就是Excel、python、R,Excel自然不用我多说,最常用的办公软件之一,用来做一些基本数据统计很方便,但是Excel的数据透视表,小数据量用起来还算可以,一旦数据量一大,就会卡半天。 数据分析工具太多了,按照流程可以分很多种: 但是大多数人的需求,应该是不怎么会IT类的技术,或者说只想找个简单的,肯定是被Excel伤害的次数太多了才会产生这种想法的。 SPSS、SAS都是用于统计分析,围绕统计学知识的一些基本应用,包括描述统计,方差分析,因子分析,主成分分析,基本的回归,分布的检验等等。SPSS用于市场研究较多,SAS银行金融和医学统计较多,有一些难度。 R语言像是综合性较强的一类数据分析工具,集统计分析、数据挖掘,数据可视化。 相比之下,BI才是更适合你的数据分析工具。 BI工具,Business Intelligence,商业智能,这就是为了数据分析而生的,而且它诞生的起点就非常高,目标是把从业务数据到经营决策的时间缩短,如何利用数据来影响决策。 有人会说,这类图网上用Excel作的也有很多。但是不一样,Excel做表格有一套,也可以做课程表,做调查问卷,作计算器来算数。术业有专攻,BI是专攻数据分析的。 就拿我一直在用的 FineBI 来说,当你用FineBI的时候,你会发现他是完全按照数据分析的流程来设计的,先是数据准备

台湾大学《临床试验》公开课,单元10:统计分析(四)

佐手、 提交于 2021-01-31 11:18:21
台灣大學《臨床試驗》公開課 视频较长,请在WIFI下或PC上观看 获取课程教辅资料,请回复“ 临床试验 ”。 流行病學與預防醫學研究所 簡國龍、劉仁沛 以臨床試驗研究設計及實際進行時處理的問題作一通盤性的介紹,使學生能對臨床試驗的方法及運用有一整體的認識。介紹臨床試驗的研究方法,以系統性說明臨床試驗過程需注意的內容,使學習者能熟練臨床試驗的步驟,並且 ... 本課程共 13 講,包含: 單元 1 .課程簡介 單元 2 .研究設計 ( 一 ) 單元 3 .研究設計 ( 二 ) 單元 4 .統計分析 ( 一 ) 指標種類與選擇 單元 5 .統計分析 ( 二 ) 單元 6 .藥品優良臨床試驗規範 / 評估臨床試驗品質 單元 7 .統計分析 ( 三 ) 單元 8 .不良反應與不良事件 單元 9 .臨床試驗執行 ( 一 ) 單元 10 .統計分析 ( 四 ) 單元 11 .統計分析 ( 五 ) 單元 12 .臨床試驗執行 ( 二 ) 單元 13 .臨床試驗執行 ( 三 ) 【一起学统计工具小tips】本公众号有海量的统计学习素材,输入统计专业术语或问题短语(如方差分析、标准差、ROC曲线、偏倚等),可智能检索各种统计文章。如果检索结果不满意,可变换检索的方式,如加长或缩短检索短语的长度等。重要干货和文章,请访问订阅号底部菜单。获取各种学习资料下载,请回复如下关键词:method|open

one-hot编码

岁酱吖の 提交于 2021-01-30 09:50:03
与上一篇文章隔得有点久,粉快掉没了,哈哈。这次讲讲one-hot编码,也是第四范式很喜欢用的一个方法,有要去他家面试的,可以好好了解一下。 one-hot编码 分类变量(定量特征)与连续变量(定性特征)。 我们训练模型的变量,一般分为两种形式。以年收入增长率为例,如果取值为0-1之间任意数,则此时变量为连续变量。如果把增长率进行分段处理,表示成如下形式:[0,0.3],(0.3,0.6],(0.6,1],那么此时变量为分类变量。 特征转换。 对于分类变量,建模时要进行转换,通常直接转换为数字。比如将[0,0.3],(0.3,0.6],(0.6,1]表示为0,1,2。原因主要有两点: 1,转换后可以提高模型运算效率。 2,对于一些模型,比如逻辑回归或计算距离时,无法对分类值直接进行计算。 直接转换为数字,也会带来一些问题: 1,转换为数字后,默认为连续变量,违背最初设计,影响效率。 2,转换后的值会影响同一特征在样本中的权重。比如转换为1000和转换为1对模型影响明显不同。 因此,需要更好的编码方式对特征进行转换。 one-hot编码。 one-hot编码的定义是用N位状态寄存器来对N个状态进行编码。比如上面的例子[0,0.3],(0.3,0.6],(0.6,1],有3个分类值,因此N为3,对应的one-hot编码可以表示为100,010,001。 使用步骤。 比如用LR算法做模型

R语言caret包的学习(二)--特征选择

我们两清 提交于 2021-01-20 07:37:17
在进行数据挖掘时,我们并不需要将所有的自变量用来建模,而是从中选择若干最重要的变量,这称为特征选择(feature selection)。本文主要介绍基于caret包的 rfe() 函数的特征选择。 一种算法就是后向选择,即先将所有的变量都包括在模型中,然后计算其效能(如误差、预测精度)和变量重要排序,然后保留最重要的若干变量,再次计算效能,这样反复迭代,找出合适的自变量数目。这种算法的一个缺点在于可能会存在过度拟合,所以需要在此算法外再套上一个样本划分的循环。在caret包中的rfe命令可以完成这项任务。 rfe(x, y, sizes = 2^(2:4), metric = ifelse(is.factor(y), "Accuracy", "RMSE"), maximize = ifelse(metric == "RMSE", FALSE, TRUE), rfeControl = rfeControl(), ...) x 训练集自变量矩阵或数据库,注意,列名必须唯一 y 训练集的结果向量(数值型或因子型) sizes 对应于应该保留的特征的数量的数值向量 metric 指定将使用什么汇总度量来选择最优模型。默认情况下,"RMSE" and "Rsquared" for regression and "Accuracy" and "Kappa" for

【R语言】必学包之lubridate包

[亡魂溺海] 提交于 2021-01-19 12:57:18
lubridate包常用于处理时间数据的数据集,提供很便利的解析日期与时间的内置函数。相较于R内置的时间处理函数,lubridate包的处理方法会更快且更加丰富。lubridate包主要有两类函数,一类是处理时点数据(time instants),另一类是处理时段数据(time spans)。 1. 解析日期和时间 以下的内置函数可用于根据输入向量中年月日元素的顺序解析日期。可以将字符和数字向量中的日期转换为date或者POSIXct对象,这些函数可以识别任意的非数字分隔符(或者无分隔符)的日期元素,只要格式的顺序是正确的,这些函数就可以正确地解析日期,即使输入向量包含不同格式的日期元素。 #解析年月日时间类型 ymd(..., quiet = FALSE, tz = NULL, locale = Sys.getlocale("LC_TIME"), truncated = 0) #解析年日月时间类型 ydm(..., quiet = FALSE, tz = NULL, locale = Sys.getlocale("LC_TIME"), truncated = 0) #解析月日年时间类型 mdy(..., quiet = FALSE, tz = NULL, locale = Sys.getlocale("LC_TIME"), truncated = 0) #解析月年日时间类型

我在哔哩哔哩上干了什么?

℡╲_俬逩灬. 提交于 2021-01-16 05:57:00
公众号那个留言想看基因组选择视频的人,注意了,视频来了! 1. 我和bilibili的故事 刚来到公司,领导告诉我,哔哩哔哩是个好东西,抱着试试看的态度,我打开了界面,什么?二次元,漫画我只看过进击的巨人好不好,这种style完全不是我的菜。 不安利哔哩哔哩的领导不是好的数据分析师,有一天,我对领导讲,腾讯课堂有很多生信的视频,很好啊!领导看了我一眼,说哔哩哔哩上面很多啊,还有人直播写代码呢。然后直播也不是我的菜。 后来,我注册了一个账号,但是他们的平台,要答题才能成为会员,它们的题目太多了,最重要的是,我不会这些题目!!! 再后来,我领导拿起我的手机,让我下去玩滑板,领导把题目给我做好了,于是我就成了哔哩哔哩的会员。。。 写这么多,是因为拍领导马屁一定要拍到正地方,有一句话讲:如果你想表扬别人,一定要从细节着手。因此我写了上面的话,用来描述我拍马屁的套路。 2. 我在bilibili上干了什么? 我上传了一些视频,这些视频我认为是很不错的,但是国内看不了,是我从YouTube下载的,关于全基因组选择,关于多年多点育种值和遗传力计算,关于全基因组关联分析,关于农业试验设计,关于农业数据分析等等。具体如下: 2.1 全基因组选择 这里面有两个视频,英文的,有PPT,回头我会将数据和代码上传到公众号上。英文讲的也很清楚,可以练练听力,很不错喔。 2.2 全基因组选择

原创 | 2021年了,算法岗位应该怎样准备面试?

[亡魂溺海] 提交于 2021-01-15 06:58:52
点 击 上 方 蓝 字 ,关注并星标, 和 我 一 起 学 技 术 。 最近有一些小伙伴在知乎上问我,已经快要2021年了,自己想要做算法岗,但是担心竞争非常激烈,非常迷茫,不知道该怎么办,想让我给点建议。 我仔细一想,这是一个好问题,2021年将近,该怎么准备算法岗位的面试呢? 就这个问题,简单聊聊我自己的想法。 从迷茫到清晰 说到算法岗位,现在网上的第一反应可能就是内卷,算法岗位也号称是内卷最严重的岗位。针对这个问题,其实之前我也有写过相关的文章。这个岗位竞争激烈不假,但我个人觉得称作内卷有些过了。就我个人的感觉,这几年的一个大趋势是 从迷茫走向清晰 。 早在2015年我在阿里妈妈实习的时候,那个时候我觉得其实对于算法工程师这个岗位的招聘要求甚至包括工作内容其实业内是没有一个统一的标准的。可以认为包括各大公司其实对这个岗位具体的工作内容以及需要的候选人的能力要求都不太一致,不同的面试官有不同的风格,也有不同的标准。 我举几个例子,第一个例子是我当初实习面试的时候,因为是本科生,的确对机器学习这个领域了解非常非常少,可以说是几乎没有。但是我依然通过了,通过的原因也很简单,因为有acm的获奖背景,面试的过程当中主要也都是一些算法题,都还算是答得不错。但是在交叉面试的时候,一位另一个部门的总监就问我有没有这块的经验?我很明确地说了,没有,但是我愿意学。接着他告诉我