R语言学习笔记--section1

《统计学习导论–基于R应用》

以此记录学习统计学课程时使用的R代码

2.3 实验:R语言简介

R安装不做赘述

2.3.1 基本命令

R用函数进行操作
运行funcname函数,输入funcname(input1,input2)

> x <- c(1,3,2,5)   #将数组1,3,2,5 连在一起并将太慢保存到一个名为x的向量中
> x
 [1] 1,3,2,5
>  # 也可用=保存数据
> x = c(1,6,2)
> x
 [1] 1 6 2
> y = c(1,4,3)

简单运算:

> length(x)   # length()函数检查向量的长度
 [1] 3
> length(y) 
 [1] 3
> x + y
 [1] 2 10 5 
> # 求和运算x和y应当有相同长度

ls()函数可以查看所有对象列表
rm()函数可以出去不想要的对象

> ls()
 [1]  "x"  "y"
> rm(x, y)
> ls()
 character(0)
 # 同时消除所有的对象
> rm(list=ls())
> # matrix()函数用于建立一个数值矩阵
> ?matrix

在这里插入图片描述

矩阵的数据(元素),行数,列数

> x=matrix(data=c(1,2,3,4),nrow=2,ncol=2)
> x
     [,1] [,2]
[1,]    1    3
[2,]    2    4

省略写法:

> x=matrix(c(1,2,3,4),2,2)
> #默认情况下R创建矩阵时先填列再填行,使用byrow=true表示先填行后填列
> > x=matrix(c(1,2,3,4),2,2,byrow=TRUE)
> x
     [,1] [,2]
[1,]    1    2
[2,]    3    4

sqrt()对一个向量或矩阵中的每个元素开方。
命令x^2计算x中每个元素的2次幂;任意次幂都可以,包括小数次幂或负次幂。

> sqrt(x)
         [,1]     [,2]
[1,] 1.000000 1.414214
[2,] 1.732051 2.000000
> x^2
     [,1] [,2]
[1,]    1    4
[2,]    9   16

rnorm()函数产生一个随机正态变量的向量,函数第一个参数n是样本的容量。每次调用该函数都会产生不同结果。
cor()函数计算几个相关的数值变量之间的相关系数。

> x=rnorm(50)
> y=x+rnorm(50,mean=50,sd=.1)
> cor(x,y)
[1] 0.9920959

rnorm使用描述
在这里插入图片描述rnorm()创建的是标准正态随机变量,均值是0,标准差是1.均值和标准差可以用mean和sd参数来调整设置。
set.seed()函数:使代码产生完全相同的一组随机数。参数可以是任意整数。

> set.seed(1303)  #接下来的任务中涉及随机数的计算,都用set.seed()进行输出设置。方便重复结果。
> rnorm(50)
 [1]  1.00185188  0.26300143 -0.02835910 -0.55625904 -0.11956114
 [6] -1.03629594 -0.65663801  0.53071490  0.11239650 -2.07756129
[11]  0.42047788  0.34127692 -1.11146959  0.84377453 -0.85525778
[16]  2.24788116 -1.37211474  0.93599500  0.54973757  0.51758744
[21] -0.56054669 -0.63876770 -0.06500831  0.37530956  1.30692614
[26] -0.61058086  0.32282993  1.75126495  1.55928971  0.64713105
[31] -1.93202340 -0.96938200  1.00148882  0.15220012 -0.04515586
[36] -0.50296757 -0.25911284  1.01738122 -1.72582568  0.93284077
[41]  0.02782077  1.58725296  0.23574669 -0.21068373 -0.16983068
[46]  0.76280099  0.43017948  1.37181976  1.57143594  0.13737399

mean()和var()用于计算一个向量的均值和方差。将sqrt()应用到var()的输出可以得到标准差,计算标准差也可以用sd()

> set.seed(3)
> y=rnorm(100)
> mean(y)
[1] 0.01103557
> var(y)
[1] 0.7328675
> sqrt
function (x)  .Primitive("sqrt")
> sqrt(var(y))
[1] 0.8560768
> sd(y)
[1] 0.8560768

2.3.2 图形

plot()最常用的绘图数据的方法。plot(x,y)产生一个数据x对于数据y的散点图。
plot在这里插入图片描述

> x=rnorm(100)
> y=rnorm(100)
> plot(x,y)
> > plot(x,y,xlab = "This is the x-axis",ylab = "This is the y-axis",main = "Plot of X vs Y")  # xlab为x坐标描述,ylab为y坐标描述,main为图表描述

在这里插入图片描述
pdf()建立一个pdf文件,应用jpeg()函数建立一个jpeg格式的输出文件。

> pdf("Figure.pdf")
> plot(x,y,col="green")
> dev.off()  #指示用R创建图形的工作结束
RStudioGD 
        2 

也可点击:Export 选择:Save as Image或者:Save as PDF进行图片的保存。

函数seq()用来创建一个序列。
seq(a,b)是在a,b之间建立一个整数向量,

> x=seq(1,10)
> x
 [1]  1  2  3  4  5  6  7  8  9 10
> x=1:10
> x
 [1]  1  2  3  4  5  6  7  8  9 10
> x=seq(-pi,pi,length=50)
> > x
 [1] -3.14159265 -3.01336438 -2.88513611 -2.75690784 -2.62867957 -2.50045130 -2.37222302
 [8] -2.24399475 -2.11576648 -1.98753821 -1.85930994 -1.73108167 -1.60285339 -1.47462512
[15] -1.34639685 -1.21816858 -1.08994031 -0.96171204 -0.83348377 -0.70525549 -0.57702722
[22] -0.44879895 -0.32057068 -0.19234241 -0.06411414  0.06411414  0.19234241  0.32057068
[29]  0.44879895  0.57702722  0.70525549  0.83348377  0.96171204  1.08994031  1.21816858
[36]  1.34639685  1.47462512  1.60285339  1.73108167  1.85930994  1.98753821  2.11576648
[43]  2.24399475  2.37222302  2.50045130  2.62867957  2.75690784  2.88513611  3.01336438
[50]  3.14159265

contour()函数产生一个等高线图,表示三维数据。形式上了类似地形图。
参数:

  1. x值的向量(第一维),
  2. y值的向量(第二维),
  3. 每队(x,y)坐标上标记某个矩阵的元素,用z记(第三维)
> y=x
> f=outer
> f=outer(x,y,function(x,y)cos(y)/(1+x^2))
> contour(x,y,f)

在这里插入图片描述

> y=x
> f=outer
> f=outer(x,y,function(x,y)cos(y)/(1+x^2))
> contour(x,y,f)
> contour(x,y,f,nlevels = 45,add=T)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
image()函数用于产生热地图heatmap长用户绘制天气预报上的温度变化。

> image(x,y,fa)

在这里插入图片描述
persp()函数用于产生三维图,参数theta和参数phi控制观看图像的角度

> persp(x,y,fa)

在这里插入图片描述

> persp(x,y,fa,theta = 30,phi = 40)

在这里插入图片描述

2.3.3 索引数据

先将数据保存在一个矩阵A里:

> A=matrix(1:16,4,4)
> A
     [,1] [,2] [,3] [,4]
[1,]    1    5    9   13
[2,]    2    6   10   14
[3,]    3    7   11   15
[4,]    4    8   12   16

然后

> A[2,3]
[1] 10      #现在选择的是第二行第三列的元素[行,列]
> A[c(2,3),c(2,4)]   #选择第二、三行,第二、四列的元素
     [,1] [,2]
[1,]    6   14
[2,]    7   15
> A[1:3,2:4]        #选择第一到三行,第二到四列的元素
     [,1] [,2] [,3]
[1,]    5    9   13
[2,]    6   10   14
[3,]    7   11   15
> A[1:2,]            #选择第一到二行,所有列的元素;
     [,1] [,2] [,3] [,4]
[1,]    1    5    9   13
[2,]    2    6   10   14
> A[,1:2]
     [,1] [,2]
[1,]    1    5
[2,]    2    6
[3,]    3    7
[4,]    4    8

索引里用“-”告诉R不包含指示的行或列

> A[-c(1,3),-c(1,3,4)]   #显示不包含第一、三行,第一、三、四列的元素
[1] 6 8

dim()函数输出一个矩阵的行数,紧跟着输出这个矩阵的列数

> dim(A)
[1] 4 4

2.3.4 载入数据

将数据集导入R。read.table()函数是导入数据集的基本方法。write.table()可输出数据。

> Auto=read.table("Auto.data")
> fix(Auto)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值