R语言快速入门

时间:2022-06-01 13:05:12
R语言是针对统计分析和数据科学的功能全面的开源语言,R的官方网址:http://www.r-project.org/  在Windows环境下安装R是很方便的

R语言的两种运行模式:交互模式和批处理模式;顾名思义交互模式是一条输入一条输出,而批处理模式则可让处理过程自动化

批处理模式演示:

pdf("demo.pdf")    #创建demo.pdf文件
hist(rnorm(1000)) #调用hist()画直方图,调用rnorm()生成随机数
dev.off() #将实际文件输出到磁盘上
运行打开PDF文件后的效果

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

R语言快速入门
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

 

在交互模式下工作

①创建一个简单的数据集

a<-c(110,120,114,119)

从上面可以看出,在R语言中,标准的赋值语句是 “ <- ”,当然用“ = ”也是可以得,但不推荐;“ c “(concatenate)表示连接,把四个数字连接成一个向量

可以把向量再连接成向量,比如

> b<-c(a,a,a)
查看b中的内容
> b
[1] 110 120 114 119 110 120 114 119 110 120 114 119

R语言的很多特性和Python语言很像,它们都是

②访问向量中的单个元素,访问方式和其他语言中访问数组类似,只不过索引是从 1开始计算

访问a中的第三个元素

> a[3]
[1] 114
提取b子集的
> b[3:6]
[1] 114 119 110 120
上面的代码 提取了b向量中的第三个元素到第六个元素

③调用库函数

在R语言中,可以很方便的计算出数据集的各种统计结果,比如

> mean(b)
[1] 115.75
> sd(b)
[1] 4.202272

上面代码计算了b数据集的均值和标准差,当然也可以把结果存到变量中,而不是直接输出

④使用内置数据集

运行下列函数,可以得到一份R语言内置数据集的列表

> data()

⑤退出R控制台

使用函数q() 会提示是否保存变量,退出R控制台

R语言快速入门

 

编写函数

函数是R语言的核心,我们先来编写一个函数

> #计算整数集中奇数的个数,并把结果存入oddcout变量中
> oddcout<-function(x){
+ i<-0 #初始化i
+ for(n in x){
+ if(n%%2==1) i<-i+1 #判个并计算个数
+ }
+ return(i)
+ }
定义数据集,调用函数,输出结果
> k<-c(1,2,3,4,5,6,7,8,9,10)
> oddcout(k)
[1] 5
R语言中重要数据结构
标量
标量即单个数,由于R语言是统计语言,所以单个数值在R语言中无意义,单个数值实际上是一元向量
字符串
字符串是字符模式的单元素向量,比如
> strs<-"this is a demo"
> mode(strs)
[1] "character"
上面代码用mode()函数来识别,向量的模式
矩阵
矩阵在数学中的定义是指纵横排列的二维数据表格,,在R语言中附加了两个属性:行数和列数
创建矩阵:
按行绑定
> m<-rbind(c(1,3,5),c(2,4,6))
> m
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
按列绑定
> n<-cbind(c(1,3,5),c(2,4,6))
> n
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6

使用rbind()函数把向量按行结合成矩阵,使用cbind()函数把向量按列结合成矩阵。矩阵中元素的访问使用双下标进行索引,不管是按行绑定还是按列绑定,访问都是先写出行号 ,在写出列号

> m[1,2]
[1] 3
提取子矩阵
> m[,2]
[1] 3 4 #提取m矩阵的第二列