R语言快速入门
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; }
.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语言的核心,我们先来编写一个函数
> #计算整数集中奇数的个数,并把结果存入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矩阵的第二列
R语言快速入门的更多相关文章
- R语言快速入门上手
导言: 较早之前就听说R是一门便捷的数据分析工具,但由于课程设计的原因,一直没有空出足够时间来进行学习.最近自从决定本科毕业出来找工作之后,渐渐开始接触大数据行业的技术,现在觉得是时候把R拿下 ...
- c语言快速入门3
如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 c语言快速入门1 c语言快速入门2 3.4.1 字符和字符串 字符:'' 单个 ...
- c语言快速入门2
如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 c语言快速入门1 1.1.12 函数的概念 函数的定义:c语言的基本单位,c语言 ...
- Swift语言快速入门
Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著 ISBN 978-7-121-24328-8 201 ...
- [SQL]SQL语言入门级教材_SQL语言快速入门(五)
SQL语言快速入门(一) SQL是英文Structured Query Language的缩写,意思为结构化查询语言. SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标 ...
- go语言快速入门教程
go快速入门指南 by 小强,2019-06-13 go语言是目前非常火热的语言,广泛应用于服务器端,云计算,kubernetes容器编排等领域.它是一种开源的编译型程序设计语言,支持并发.垃圾回收机 ...
- R语言基础入门之二:数据导入和描述统计
by 写长城的诗 • October 30, 2011 • Comments Off This post was kindly contributed by 数据科学与R语言 - go there t ...
- c语言快速入门1
如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 目录 1.1.1 计算机与程序 现代计算机可以自动完成计算任务 程序就是按 ...
- R 语言 相关入门资料
<R语言基础语法入门>: http://www.xueqing.tv/upload/april-training/day1/index.html#1
随机推荐
- ARM&Linux 下驱动开发第一节(小试牛刀)
#include<linux/init.h> #include<linux/module.h> static int __init hello_init(void) { pri ...
- C#-异常处理:tyr,catch,finally ---ShinePans
异常处理能够解决诸如一下问题: 数据库连接失败,IO错误,数据溢出,数组下表越界等问题. 总结:我认为在某些easy出错的地方加上 异常处理语句是很明智的选择 finally 是不管怎样都要运行的语 ...
- 用NDK编译lua库
Android.mk是这样的 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := lua LOCAL_SRC_FILE ...
- HDU 4282 A very hard mathematic problem 二分
A very hard mathematic problem Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/sh ...
- Android ViewPager 应该及技巧
1. android 中的ViewPager 功能类似于iOS中的scrollView,实现最主要的页面的左右滑动功能.该类存在于Google的兼容包里面,所以在引用时记得在BuilldPath中 ...
- mahout 运行Twenty Newsgroups Classification实例
按照mahout官网https://cwiki.apache.org/confluence/display/MAHOUT/Twenty+Newsgroups的说法,我只用运行一条命令就可以完成这个算法 ...
- Android-Volley详解
一.Volley简介和特点 1. 简介: 并发.效率.性能 高要求 Volley(齐射,迸发) Volley是Google2013发布的Android平台上的网络通信库 2. Volley特点: 通信 ...
- centos 7 没有ifconfig 命令
centos 7 没有ifconfig 命令: 安装命令: yum install net-tools
- Android开发数据存储之ContentProvider详解
转载:十二.ContentProvider和Uri详解 一.使用ContentProvider(内容提供者)共享数据 ContentProvider在android中的作用是对外共享数据,也就是说你可 ...
- 分割文件命令split
使用Linux自带的split命令,可以将很大的文件分割成若干个小文件,以方便传送和使用. 命令格式: split [option] [input file] [output file] 常用选项: ...