R语言基础6讲

R语言基础课程 6讲

第一讲

1.0 前言

关于Rstudio的操作

设置样式和字体

Tools>Global Options>Appearance

R语言退出程序包 r语言怎么撤销_R语言退出程序包

下载包

Tools>Global Options>Packages 选择地区

R语言退出程序包 r语言怎么撤销_序列号_02

Tools>Install Packages

R语言退出程序包 r语言怎么撤销_随机数_03

简单快捷键

CTRL+L 清屏
CTRL + SHIFT + ENTER 全部运行
CTRL + ENTER 运行光标所在代码
CTRL + SHIFT + C 注释

1.1 向量

产生向量函数--------c 向量切片跟python类似,唯一不同的是下标从1开始
注: 向量的删除元素用v[-i]来表示,这里的i是要删除的下标位置,负号代表删除的意思
which 函数返回符合要求的下标值

> v=c(1,4,4,3,2,2,3)# 创建一个向量

> v[c(2,3,4)] # 向量切片
[1] 4 4 3

> v[2:4] 
[1] 4 4 3

> v[c(2,4,3)]
[1] 4 3 4

> v[-2] # 向量删除序列号为2的值,返回新的向量,不改变原来的
[1] 1 4 3 2 2 3

> v[-2:-4] 
[1] 1 2 2 3

> v[v<3] # 返回所有小于3的元素
[1] 1 2 2

> which(v==3)#返回 等于3的数的序列号
[1] 4 7

> which.max(v) # 返回最大值序列号 第一个
[1] 2

> which.min(v) # 返回最小值序列号 第一个
[1] 1

1.2 随机数

set.seed的作用是设置随机数种子,我们可以看到,相同的随机数种子所产生的随机数序列是有着一定的顺序的
runif(n,min=0,max=1)生成均匀分布随机数)n表示生成的随机数数量,min表示均匀分布的下限,max表示均匀分布的上限;若省略参数则默认生成[0,1]上的均匀分布随机数。
其他的随机数生成方法可以自行百度
用R生成随机数

> set.seed(250) #随机数种子
> a = runif(3,min=0,max=100)
> a
[1] 26.54018 77.90907 16.90836
> set.seed(125)
> a = runif(3,min=0,max=100)
> a
[1] 82.46744 11.68510 29.97806
> a = runif(3,min=0,max=100)
> a
[1] 35.65607 96.51950 96.75605
> a = runif(3,min=0,max=100)
> a
[1] 53.30924 33.21555 65.38438
> set.seed(250)
> a = runif(3,min=0,max=100)
> a
[1] 26.54018 77.90907 16.90836
> a = runif(3,min=0,max=100)
> a
[1] 84.26782 79.99474 96.74011
> set.seed(125)
> a = runif(3,min=0,max=100)
> a
[1] 82.46744 11.68510 29.97806
> a = runif(3,min=0,max=100)
> a
[1] 35.65607 96.51950 96.75605

floor函数向下取整 直接去掉小数位
ceiling函数向上取整 只要有小数就进一
round保留小数

> floor(a)
[1] 26 77 16
> ceiling(a)
[1] 27 78 17
> round(a,4)
[1] 26.5402 77.9091 16.9084

注: 使用?round??round可以查看文档帮助

1.3 读取文件

R语言中使用read.csv read.table等方式来读取文件
我们先读取网上的一段信息,比较table和csv的区别

> data1 = read.csv('http://www.macalester.edu/~kaplan/ISM/datasets/swim100m.csv')
> data2 = read.table('http://www.macalester.edu/~kaplan/ISM/datasets/swim100m.csv')

R语言退出程序包 r语言怎么撤销_R语言退出程序包_04

数据读完后,我们可以看到csv读取的数据只有62行,而table读取的数据只有1列,下面详细的看一下到底是什么情况

R语言退出程序包 r语言怎么撤销_R语言退出程序包_05


R语言退出程序包 r语言怎么撤销_随机数_06


我们发现read.taoble在读取的时候将标题行(第一行也算入了数据中)

read.csv确没有这样,他默认把第一行当做标题行来对待

attach可以讲上述数据中的列名转化为变量名来使用 ,如下

> data1 = read.csv('http://www.macalester.edu/~kaplan/ISM/datasets/swim100m.csv')
> year
错误: 找不到对象'year'
> attach(data1)
> year
 [1] 1905 1908 1910 1912 1918 1920 1922 1924 1934 1935 1936 1944 1947 1948 1955 1957 1961 1964 1967
[20] 1968 1970 1972 1975 1976 1981 1985 1986 1988 1994 2000 2000 1908 1910 1911 1912 1915 1920 1923
[39] 1924 1926 1929 1930 1931 1933 1934 1936 1956 1958 1960 1962 1964 1972 1973 1974 1976 1978 1980
[58] 1986 1992 1994 2000 2004

1.4 简单画图

> set.seed(123)
> x=rnorm(100,mean = 100,sd = 10)
> set.seed(234)
> y=rnorm(100,mean = 100,sd = 10)
> hist(x,breaks = 20)

R语言退出程序包 r语言怎么撤销_数据_07


注:直方图的绘制

直方图绘制参数介绍

plot(density(x)) #density计算密度

R语言退出程序包 r语言怎么撤销_随机数_08

plot(x) # 散点图

R语言退出程序包 r语言怎么撤销_R语言退出程序包_09

boxplot(x,y) # 箱图

R语言退出程序包 r语言怎么撤销_数据_10


注:QQ图可以帮我们鉴别样本的分布是否近似于某种类型的分布

  • qqnorm函数绘制正态分布的QQ图
  • qqline函数用于绘制QQ图的近似直线,其解析式为y=ax+b,a是正态分布的标准差,b为均值
qqnorm(x)
qqline(x)

R语言退出程序包 r语言怎么撤销_序列号_11

qqplot(x,y)

R语言退出程序包 r语言怎么撤销_序列号_12