美文网首页数据-R语言-图表-决策-Linux-Python数据科学与R语言
总结一下R语言的数据结构及访问其中元素的方法

总结一下R语言的数据结构及访问其中元素的方法

作者: 天天向上的旭小锋 | 来源:发表于2017-04-01 18:42 被阅读0次
    1. 向量
      R中向量是指一维的对象,格式需要统一,只能是数值型或字符型或逻辑型
      创建向量用c
      案例:
      x <- c(1,2,3,4,5,6)
      y <- c('p','y','t','h','o','n')
      z <- c(True,False,True,True)
      向量引用:可以用位置进行引用,案例:x[2] 结果是2;支持多个位置引用 x[c(1,3)] 结果是1,3,或者y[1:2] 结果是‘p’,‘y’
    2. 矩阵
      矩阵是二维的,格式需要统一,即每个模式都需要有相同模式,要么是数值型,要么是字符型,要么是逻辑型
      创建矩阵:
      mymatrix <- matrix(vector,nrow=num of row,ncol = num of col,byrow = logical_value,dimnames=list(rowname,colname))
      案例:
      c1 <- c(1:20)
      mymatrix <- matrix(1:200,20,5,true,dimnames=list(1:20,1:5)))

    引用:
    用中括号按下标引用,:表示引用全部,如mymatrix[:1]就是引用第一列的所有行
    还可以引用多个,
    如:mymatrix[1,c(1,5)]
    结果显示:1,5

    1. 数组array
      数组是多维的矩阵,维度可以大于2
      创建:
      myarray =myarray = array(1:27, c(3,3,3),dimnames = list(1:3,1:3,1:3))

    引用:
    按下标引用,与矩阵相似

    1. 数据框dataframe
      是最有用的数据结构。同一个数据框可以存储不同的数据类型。比如想要存储房价信息的dataframe,里面要存储购房人姓名(字符型),性别(字符型,分类型数据),房子类型(等级1,等级2……等,字符型,有序型数据),这些可以存储到同一个数据框里,存储后的外观和通常所说的表格相似。例如:

    有一点需要注意的是,数据框各列必须是同类型
    创建:
    df <- data.frame(col1,col2,col3,col4)
    案例:
    name <-c('张三','李四','二麻子')
    age <- c(28,31,29)
    sex <- c('男','女','男')
    type <- c('level1','level1','level2')
    df <- data.frame(name,age,sex,type)

    引用:
    数据框引用可以用下标df[2],可以选列名df(c(name,type)),还可以用df$name
    其中$引用,要每次都添加数据框名字,那么在引用很多次的时候就会很麻烦,所以为了引用方便,用attach(df)/detach(df)函数,达到可以在两句中间引用列名就可定位到该数据框的列名的目标,原理是把数据框名放入搜索路径中,因而省略df(数据框名)也能定位到该数据框。
    上述函数在全局内有重复变量的时候,就会混淆;同样的功能我们更常用with函数,with(df,{具体应用}),赋值仅在小括号中才能使用
    实例标识符,我现在用不到,先不看,反正是定义数据框的时候多写一个:rowname = ***
    5.因子
    变量分为名义型,有序型,连续型变量。其中名义型变量是没有顺序的,比如男女,没有先后的顺序。有序型变量是有一定顺序,比如满意,比较满意,非常满意,可以有一定的顺序给他们定义。这两类变量在R里称为因子,可以对他们赋值
    创建:
    diabetes <- c("type1","type2","type2","type1")
    diabetes <- factor(diabetes,ordered=TRUE,levels = c(1,2))
    不太懂。。。。不想看了

    相关文章

      网友评论

        本文标题:总结一下R语言的数据结构及访问其中元素的方法

        本文链接:https://www.haomeiwen.com/subject/aozbnttx.html