R语言笔记:快速入门
来源:互联网 发布:淘宝网如何注销店铺 编辑:程序博客网 时间:2024/04/29 03:48
http://www.cnblogs.com/Dzhouqi/p/3414088.html
http://study.163.com/course/introduction/490005.htm#/courseDetail
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 2
length(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语言入门笔记
- R语言光速入门,R语言笔记,
- R语言快速入门_基础入门
- R语言快速入门_函数入门
- R语言快速入门_获取帮助
- R语言-数据分析-快速入门方便查询-excel表格形式学习笔记1
- 《R语言统计入门》学习笔记<一>
- R语言入门——个人笔记
- R语言编程艺术读书笔记1----快速入门
- (转)R语言入门
- R语言基础入门
- R语言入门
- R语言入门学习
- R语言入门学习
- 方法的声明
- 校园6美女向一男生表白 史上最强表白阵容来袭
- Activiti工作流引擎使用(Activiti的乱码问题)
- ASP.NET MVC的处理管线
- armv6, armv7, armv7s的区别
- R语言笔记:快速入门
- C--经典算法之排序---冒泡排序
- 线程池
- 浅析I/O处理过程与存储性能的关系
- 为什么你工作努力却没有起色?
- HTML5基础,第1部分:初试锋芒 (1)
- Fun With Elasticsearch's Children and Nested Documents
- java webservice客户端请求
- Windows 2008开机自动运行Vmware Workstation