慢慢才意识到概率统计的重要性,当时学的时候只知道很重要,是机器学习基础啥的,但是却没有真正意识到( ╯□╰ )。我现在的理解是,统计学习可以从大数据中挖掘出规律(其实和数据挖掘还是很相关的),在科研工作和生活中都可以帮助和指导我们。生活中,我们可以通过分析数据,“透过现象看本质” (learning from data),参考大概率发生的事件,帮助我们少走一些弯路,做出正确的决策。

最开始的概率思维来自大一的近现代史老师,老师说 “为什么公司要区分985,211等学位?”,其实我当时也不是很理解,我觉得哪里都会有优秀的人,但是老师说因为985,211大概率会比较优秀,这是来自大量公司的统计(不过撇过部分公司的硬性条件,不管是哪种学位,只要自己努力去变优秀,金子一定不会被埋没的!(ง •_•)ง)。后来的概率思维来自一位哲学老师分享的案例,比如分析理科学者,学术年龄38岁是个分界线,在38岁学术产出率达到高峰;还有对诺奖得主的工作岗位分析,发现多数都有在不同机构间流动的这一特征,得出流动性与职业成功的关系。显然,我们可以借鉴这些分析结果。(废话太多,进入正题)

学统计学,R语言是必不可少的,以下参考W3Cschool的教程:https://www.w3cschool.cn/r/

这里只是简单的总结,基本部分和其他语言都差不多,学习完这些基本之后,多写程序,需要的再查。

安装:使用conda安装R及Rstudio,但是我用conda-navigator装Rstudio报错,所以直接从Rstudio官网手动安装。
执行方式:和python一样,R的执行方式有两种,命令行和脚本文件
• 命令行:直接键入R
• 脚本:创建好脚本文件.R 之后,使用命令 Rscript xxx.R

注意事项:R 不支持多行注释,单行注释用#
数据类型:并不会声明为某种数据类型,而是直接赋予对象(动态类型语言)

变量:
字母,数字,下划线,点;以字母或不以数字后跟的点开头
如:.2a × .ab √
变量赋值:向左 向右 等于
打印:print() 和连续打印 cat()
查找工作空间中所有可用的变量print(ls()) print(ls(pattern="var")),以.开头的变量被自动隐藏,要输出:print(ls(all.names=TRUE))
运算符:
算数运算符: + - * /(正常除法) %%(余数) %/%(整除) ^
关系运算符:> < == <= >= !=
逻辑运算符: & | ! &&(仅作用于两个向量的第一个元素) ||(仅作用于两个向量的第一个元素)
赋值运算符: 左分配:= <- <<- 右分配:-> ->>
其他: : %*%(矩阵乘以其转置) %in%(判断某一元素是否在其内)
条件循环语句:
条件:
if:
else if:
else:

switch case
循环:
repeat
while
for

break; next (like continue in python);
包相关操作:
默认只有默认的R包可用,如果需要用自定义安装的则需要显示加载
.libPaths() 获取R包库位置
library() 获取已安装的所有包
search() 获取当前加载的所有包
安装:从cran自动安装 (install.packages("xxx") )+ 手动安装(从R pkgs(https://cran.r-project.org/web/packages/available_packages_by_name.html)下载对应zip,使用命令

install.packages("E:/XML_3.98-1.3.zip", repos = NULL, type = "source")
安装)
加载包到当前环境:library("")
数据重塑
cbind()函数连接多个向量来创建数据帧(连接列组成frame)。 此外,我们可以使用rbind()函数合并两个数据帧(合并sample)。
merge() melt() cast()
函数
自定义 : Name <- function(args){}
R有大量内置函数:seq() mean() max() sum() paste()
字符串
paste(..., sep = " ", collapse = NULL) sep是分割字符串的符号 collapse是字符串之间的空格操作
format()
nchar()
tolower()toupper()
substring("",begin,end)
数据类型详细
访问向量元素:t[c(index/bool/01)]
两个向量进行操作长度不同时,较短的会循环自身补足长度
sort(data,decreasing=TRUE)inverse
listdata中的每个元素可以赋予名字:names(list)<- c("","")
列表可以通过索引或者名字访问,list[1] list$name
通过赋值操作对列表实现增删改(增删只能末尾),删除时赋值为NULL
合并列表c(list1,list2)
使用unlist将列表转换为向量

图表

R语言强大的地方之一就在于其绘图功能,这里只是简单的内置函数的示意,还有很多强大的绘图包,如ggplot2。

结果如下:

箱线图可以反应数据集中数据的分布,也可以用来比较数据集之间的数据分布;直方图可以反应连续范围数据的频数/频率情况;折线图可以反应数据中发展的趋势。学会用图可以更加清晰直观的表达含义,一图胜千言,这在学术论文写作中也是非常有必要学习的。

还有其他文件读取,统计方法等R的语法,用到再查即可。

R语言入门 (有其他编程语言基础)的更多相关文章

  1. R语言入门(二)基础语法

    1.help可以提供帮助,如help(nchar), help("[["),或者用?nchar也能获取帮助.example(nchar)可以获取到某个主题的使用方法. 2.ncha ...

  2. Go 语言入门(一)基础语法

    写在前面 在学习 Go 语言之前,我自己是有一定的 Java 和 C++ 基础的,这篇文章主要是基于A tour of Go编写的,主要是希望记录一下自己的学习历程,加深自己的理解 Go 语言入门(一 ...

  3. 【Introduction】R语言入门关键小结

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  4. 用几分钟了解R语言入门知识

    第一篇——用几分钟了解R语言入门知识 第二篇——用几分钟了解R语言入门知识(续) 关于数据分析学习笔记的计划(以及目录)

  5. 使用Code First建模自引用关系笔记 asp.net core上使用redis探索(1) asp.net mvc控制器激活全分析 语言入门必学的基础知识你还记得么? 反射

    使用Code First建模自引用关系笔记   原文链接 一.Has方法: A.HasRequired(a => a.B); HasOptional:前者包含后者一个实例或者为null HasR ...

  6. R语言入门1:安装R和RStudio

    R语言入门1:安装R和RStudio 曹务强 中科院遗传学博士研究生 9 人赞同了该文章 1. Windows安装R 在Windows系统上,安装R语言比较简单,直接从R的官方网站下载,按照正常的软件 ...

  7. R语言入门:向量索引

    这节的内容是建立在之前我们对R语言最基本向量赋值的基础之上的,笔者本人学完R当中向量的索引感觉异常舒适,因为这个比Python的索引爽多了,是什么值开始索引就从哪里开始索引,到哪里结束就在哪里结束,而 ...

  8. 《R语言入门与实践》第一章:R基础

    前言 本章介绍了 R 语言的基础知识 界面: 使用命令 “ R “进行命令行的实时编译 对象 定义: 用于储存数据的,设定一个名称 格式: a <- 1:6 命名规则: 规则1:不能以数字开头规 ...

  9. R语言实战(一)——基础入门

    从今天开始接触R语言,主要参考的书籍是<R语言实战>. 1.安装R语言程序 Windows:http://mirror.bjtu.edu.cn/cran/ Linux:apt-get in ...

随机推荐

  1. DNS原理和智能DNS及CDN

    CDN是什么 CDN(Content Delivery Network)是内容分发网络. 作用: 使用户可以就近取的所需要的内容,加速用户访问网站资源的速度.物理距离更近,响应速度更快.拦截部分网络请 ...

  2. asp.net数据库增删改查demo

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. 又一个无效的列类型错误Error setting null for parameter #7 with JdbcType NULL . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLExcept

    在更新数据时候出现的错误 更新代码如下: <update id="modify" parameterType="Standard"> update ...

  4. 《Python爬虫技术:深入理解原理、技术与开发》已经出版,送Python基础视频课程

    好消息,<Python爬虫技术:深入理解原理.技术与开发>已经出版!!!   JetBrains官方推荐图书!JetBrains官大中华区市场部经理赵磊作序!送Python基础视频课程!J ...

  5. 2.14 Java web 复习总结

    1.空指针异常原因(NullPointerExceptio)之一: 在Dao层里边 声明 Connection conn = DBUtil.getConn(); //不能少 Statement sta ...

  6. VM ESXi虚拟化使用学习笔记

    由于疫情原因,没有条件介绍安装部分的内容,也没有安装部分内容的相关截图,所以安装部分可以选择网上资料.但是只要熟练安装CentOS系统的,基本安装ESXi一看就会,设置主机地址方面有一定图形化界面,比 ...

  7. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-adjust

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  8. DRF源码-fields.py

    https://www.cnblogs.com/pyspark/p/8607801.html https://www.cnblogs.com/LYliangying/articles/9896548. ...

  9. office(CVE-2012-0158)漏洞分析报告

    2019/9/12 1.漏洞复现 ①发现崩溃 ②找到漏洞所在的函数,下断点,重新跑起来,单步调试,找到栈被改写的地方 ③分析该函数 把MSCOMCTL拖入IDA,查看该函数代码 ④查看调用栈,回溯. ...

  10. python-模块安装

    首先到这个网址https://www.lfd.uci.edu/~gohlke/pythonlibs/ 找到自己想要用的模块,然后下载下来, 回到桌面找到文件所在位置进入cmd中, pip instal ...