R语言学习1

  准备做数据挖掘方面的东西,在工具选择方面,个人认为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()合并两个数据。