R语言笔记:快速入门
1.简单会话
> x<-c(1,2,4)
> x
[1] 1 2 4
R语言的标准赋值运算符是<-。也可以用=,不过不建议用它,有些情况会失灵。其中c表示连接(concatenate)
> q<-c(x,x,8)
> q
[1] 1 2 4 1 2 4 8
取q中的某个元素,R下标是从1开始的。
> q[2]
[1] 2
利用现有函数求均值,方差
mean(q)
sd(q)#“#”为注释符号
2.函数入门:
创建一个计算计数个数的函数
> oddcount<-function(x){
k<-0
for(n in x){
if(n%%2 ==1) k<-k+1
}
return(k)
}
调用函数oddcount(c(1,2,3,-1,5))
> oddcount(c(1,2,3,-1,5))
[1] 4
3.R语言中的数据结构
向量
R语言中,把标量或单个数字,作为一个一元向量。很多操作,函数都是针对向量的。
x<-c(5,1,13,2)
> x
[1] 5 1 13 2length(x)#返回向量x的长度
[1] 4mode(x)#返回向量的类型
[1] "numeric"
R的一个向量的所有元素都应该属于同一类数据类型,否则R会进行强制转换
> v<-c(4,67,"abc")
> v
[1] "4" "67" "abc"
R允许如下创造空向量,也允许你向任意的下标赋值。
> a<-vector()
> a
logical(0)
> a[3]=1
> a
[1] NA NA 1
> a[10]=32
> a
[1] NA NA 1 NA NA NA NA NA NA 32
字符串
> wq<-c("dasda","dasda","q","12")#生成字符串向量
> wq
[1] "dasda" "dasda" "q" "12"
> mode(wq)
[1] "character"
> u<-paste('a','b','c')#连接字符串
> u
[1] "a b c"
> v<-strsplit(u,"")#拆分字符串
> v
[[1]]
[1] "a" " " "b" " " "c"
>
矩阵
rbind,把两个行向量结合为一个矩阵,(另一个函数式cbind(),把若干个列结合成一个矩阵)。
> m<-rbind(c(1,4),c(2,2))#rbind=row band(按行绑定)
>
> m
[,1] [,2]
[1,] 1 4
[2,] 2 2
矩阵乘法符号 %*%
> m%*%c(1,1)
[,1]
[1,] 5
[2,] 4
提取矩阵的行,列:
> m[,2]#提取矩阵的列
[1] 4 2
> m[1,]#提取矩阵的行
[1] 1 4
列表
与向量不同,列表中各项内容可以属于不同的数据类型。用$访问列表中的元素
> x<-list(u=2,v="ac")
> x
$u
[1] 2$v
[1] "ac"> x$u#提取列表中的数据
[1] 2
数据框
一个典型的数据集包含多种不同类型的数据,例如一个员工数据集里有字符串(员工姓名),数字(工资)等。这时候不能用矩阵,因为他混合了多种数据类型,应该用数据框。数据框实际上就列表。
> d<-data.frame(list(kids=c('ross','joey'),ages=c(12,13)))#定义数据框
> d
kids ages
1 ross 12
2 joey 13
> d$ages
[1] 12 13
类
R语言是一门面向对象的编程语言,对象是类的实例。数据存储在对象中,在R中,全部都是对象,从简单的数字到函数,或者复杂的数据结构。每一个对象都会属于一个类(class).
R有许多提前定义好的类和与之相关的函数。我们可以以此为基础创造新的类。
类需要用在泛型函数中。例如plot()就是一个泛型函数,它和根据参数对象来画出适合的图像(概念有点类似于c++的重载,多态性(polymorphism))
4获取帮助
- help(plot)#在线获得plot函数的帮助
- example(plot)#获得plot()函数的例子
- help.search('normal')#如果不知道搜索什么函数,可以搜索关键字
5一些细节:
- R语言区分大小写
本人水平有限,怀着分享学习的态度发表此文,欢迎大家批评,交流。感谢您的阅读。
欢迎转载本文,转载时请附上本文地址:http://www.cnblogs.com/Dzhouqi/p/3414088.html
另外:欢迎访问我的博客 http://www.cnblogs.com/Dzhouqi/
R语言笔记:快速入门的更多相关文章
- R语言笔记
R语言笔记 学习R语言对我来说有好几个地方需要注意的,我觉得这样的经验也适用于学习其他的新的语言. 语言的目标 我理解语言的目标就是这个语言是用来做什么的,为什么样的任务服务的,也就是设计这个语言的动 ...
- R语言笔记4--可视化
接R语言笔记3--实例1 R语言中的可视化函数分为两大类,探索性可视化(陌生数据集,不了解,需要探索里面的信息:偏重于快速,方便的工具)和解释性可视化(完全了解数据集,里面的故事需要讲解别人:偏重全面 ...
- MongoDB学习笔记:快速入门
MongoDB学习笔记:快速入门 一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...
- Bootstrap笔记--快速入门
首先是Bootstrap的简介: 业余了解:下面这个网址可以查询IP地址的地理位置 下面学习:(具体可以参考Bootstrap中文网) 栅格系统 Bootstrap 提供了一套响应式.移动设备优先的流 ...
- R语言笔记完整版
[R笔记]R语言函数总结 R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头, ...
- 初探R语言——R语言笔记
R语言使用 <- 赋值 # 作为注释符号 c()函数用于作为向量赋值,例如age<-c(1,2,3,4,5) mean()用于求向量的平均值 sd()求向量的标准差 cor(a,b)求a ...
- R语言笔记5--读数据
1.读文本文件数据 (1)先设置工作目录,把文本文件放于该目录下 备注:在记事本里写完数据后,按一下回车,负责在R语言中出现错误 (2)读剪贴板 文本或EXCEL的数据均可通过剪贴板操作 (3)读ex ...
- R语言笔记1--向量、数组、矩阵、数据框、列表
注释:R语言是区分大小写的 1.向量 R语言中可以将各种向量赋值为一个变量,这种赋值操作符就是等号“=”,也可以使用“<-”. 1)产生向量 (1)函数c() 例如:x1=c(2,4,6,8,0 ...
- 学习swift语言的快速入门教程推荐
随着苹果产品越来越火爆,苹果新推出的swift必定将在很大程度上代替oc语言.学好swift语言,对于IOS工程师来讲,已经是一门必备技能. 有一些比较好的英文版教程,值得学习. 1. Swift T ...
随机推荐
- Maven Dependency Scope用法
原帖地址:http://uule.iteye.com/blog/2087485 官方API描述 Dependency scope 是用来限制Dependency的作用范围的, 影响maven项目在各个 ...
- 锋利的jquery-validation
jquery插件 jquery插件项目托管于gitHub,项目地址https://github.com/jquery/plugins.jquery.com jquery插件的使用 表单验证插件 现在网 ...
- Stimulsoft Reports报表工具
关于第三方的报表工具,网上的种类有很多,一些专门做报表工具的公司,还针对不同平台语言做了分别处理.总之功能都很强大,比较流行和使用广泛的貌似还是国外的产品,版本收费和中文资料匮乏,这都是不可避免的问题 ...
- T-SQL数组循环
T-SQL对字符串的处理能力比较弱,比如要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处理下来比较麻烦.下边的函数,实现了象数组一样去处理字符串 ...
- 同时存在两个或多个homestead 虚拟box
开发中发现,不同版本的homestead 里面的环境各不相同,里面的node,npm等版本都不一致,如果需要添加 不同版本的homestead同时存在可以按照以下办法处理. tips: 提供可以离线下 ...
- html 模板 swig 预编译插件 grunt-swig-precompile
GitHub grunt-swig-precompile NPM grunt-swig-precompile 在书写前端静态页面的时候,每个页面总在书写很多重复的标签. 为了提高效率,结合 swig. ...
- 【Python笔记】异常处理
1 什么是异常 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行.一般情况下,在Python无法正常处理程序时就会发生一个异常.异常是Python对象,表示一个错误. 当Pytho ...
- C++ 关联容器详解——从内部结构到应用
关联容器不同于顺序容器的是:顺序容器底层用数组实现,为线性结构:关联容器在实现中,用到的非线性存储方式: 顺序容器是通过元素在容器中的位置顺序存储和访问元素,而关联容器是通过键(key)存储和读取元素 ...
- 1048. Find Coins (25)
时间限制 50 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Eva loves to collect coins from a ...
- Linux 目录操作和4中文件拷贝效率测试
/*1.用户输入任意目录名称,显示该目录下的文件列表信息,包括文件类型,文件权限,文件大小,文件名称2.拷贝用户输入的文件到当前目录下3.第二点功能,使用4种方式完成,并比较说明效率*/ /* str ...