准备做数据挖掘方面的东西,在工具选择方面,个人认为R语言是一个不错的选择,而且个人喜欢学习一些新的东西。这两天看了西安交通大学出版社的《R语言初学者指南》的前三章,做点笔记。
第一章R函数
? | 访问帮助文件 |
# | 添加注释 |
boxplot | 生成盒型图 |
setwd | 设置工作目录 |
q | 关闭R |
citation | 提供对R的应用 |
第二章
1.赋值采用"<-"或者“=”;
2.多个数据赋给一个变量采用c函数(Concatenate).Year<-c(2001,2002,2003)。
3.变量中数据访问跟Matlab的类似,使用中括号[].Year[1],Year[1:3],如果变量是二维的则Year[2,](访问第二行),Year[,2](访问第二列)。
4.多个变量组合在一起可以使用c函数,也可以使用cbind或者rbind,也可以用data.frame
例:
Year <-c(2001,2002,2003,2004,2005)
Month <-c(1,2,3,4,5)
Day <-c(21,22,23,24,25)
Date1 <-c(Year,Month,Day)
#Date1的值为 2001 2002 2003 2004 2005 1 2 3 4 5 21 22 23 24 25
Date2 <-cbind(Year,Month,Day) #cbind将数据以列的方式进行组合
#Date2的值为
Year Month Day
[1,] 2001 1 21
[2,] 2002 2 22
[3,] 2003 3 23
[4,] 2004 4 24
[5,] 2005 5 25
Date3 <-rbind(Year,Month,Day) #rbind将数据以行的方式进行组合
#Date3的值为:
[,1] [,2] [,3] [,4] [,5]
Year 2001 2002 2003 2004 2005
Month 1 2 3 4 5
Day 21 22 23 24 25
Date4 <-data.frame(Year,Month,Day) #通过data.frame方式结合数据
#Date4的值为:
Year Month Day
1 2001 1 21
2 2002 2 22
3 2003 3 23
4 2004 4 24
5 2005 5 25
注:红色部分为系统自动生成的编号,不属于数据本身。虽然Date2与Date4的输出结果是相同的,但是系统自动生成的编号格式不一样。
这是因为Date2通过cbind结合,数据的格式是矩阵(matrix)。而数据Date4是通过data.frame结合,所以数据的格式是data.frame。
这两种格式是有区别的,data.frame格式可以通过$来访问变量,但是matrix格式不可以,即Date2$Year会报错。
5.rep函数
Date5 <-rep(c(1,2,3),each=3) #有each就是将每个数字重复3次
#Date5的值为:
[1] 1 1 1 2 2 2 3 3 3
Date6 <-rep(c(1,2,3),3) #没有each就是将整个进行重复
#Date6的值为:
[1] 1 2 3 1 2 3 1 2 3
6.通过as.matrix()函数将数据转化为矩阵。is.matrix()判断是否是矩阵
7.数据框data.frame的特点是可以结合不同类型但是维数相同的数据。List可以结合任意尺寸,任意格式的数据。
8.从Excel中读取数据,先将Excel中的数据另存为txt文件,然后通过read.table(file="")来读取。一般需要设置header=TRUE
第三章
1.names()查看数据中的变量;str()查看数据中每个变量的属性。
2.通过$访问数据中的变量或者用[]。data.frame格式能够通过这两种方式访问,matrix格式只能通过[]访问。
3.通过merge()合并两个数据。