美文网首页
R--基本数据类型

R--基本数据类型

作者: KevinCool | 来源:发表于2016-03-17 10:48 被阅读166次

    向量

    a<-c(1,23,4,2)
    a[4]
    a[2:3]
    a[c(1,4)]```
    
    #矩阵
    

    cells<-c(1:4)
    rnames <- c("row1","row2")
    cnames<- c("col1","col2")

    表示按行填充,dimname为行名与列名,分别是向量

    mymatrix <- matrix(cells,nrow=2,ncol=2,byrow=TRUE,dimnames=list(rnames,cnames))
    mymatrix

    表示按列进行填充

    mymatrix1 <- matrix(cells,nrow=2,ncol=2,byrow=FALSE,dimnames=list(rnames,cnames))
    mymatrix1

    矩阵元素的选择

    mymatrix1[1,]
    mymatrix1[,2]
    mymatrix1[1,2]
    mymatrix1[1,c(1,2)]
    mymatrix1[1:2]
    mymatrix1[,1:2]

    矩阵,向量,数组都只能包含一种元素```

    数组

    dim1<- c("A1","A2")
    dim2<- c("B1","B2","B3")
    dim3<- c("C1","C2","C3","C4")
    #array()函数创建一个数组,第一个参数是值向量,第二个参数是维度最大值向量
    #第三个参数是各个维度的标签,可选
    z<- array(1:24,c(2,3,4),dimnames=list(dim1,dim2,dim3))
    z
    #所以第一个参数和第二个参数是必须的,第二个参数的维度最大值至少要能容纳下数据
    x<-array(1:24,c(3,3,3))
    x
    #数组中选取元素的方式,构想一下,三维数组的选取方式
    z[1,,]
    z[1,2,]
    z[1,2,3]
    z[c(1,2),,]```
    
    #数据框
    

    patientID<-c(1,2,3,4)
    age<-c(25,32,43,28)
    diabetes<-c("Type1","Type2","Type1","Type1")
    status<-c("poor","improved","excellent","poor")

    使用data.frame()来创建数据框,其中参数名作为field名字,然后row.names=patientID指定实例标识符

    patientdata<-data.frame(patientID,age,diabetes,status,row.names=patientID)
    patientdata

    使用类似矩阵的方式选取元素

    patientdata[1:2]
    patientdata[,1:2]

    也可以使用列名来选取

    patientdata[c("diabetes","status")]

    选取一个特定变量,输出一个向量

    patientdata$age

    生成列变量之间的列联表

    table(patientdata$diabetes,patientdata$status)

    使用attach()函数,将这个数据框加入到R搜索路径中,就可以直接使用列变量了

    attach(patientdata)
    summary(age)
    plot(age,patientID)
    detach(patientdata)

    但是如果环境中如果有相应的列变量,就会被掩盖,会造成错误

    使用with()函数

    with(patientdata,{
    summary(age)
    plot(age,patientID)
    #可以在with之外执行
    keeppatient<<-summary(age)
    #不能在with之外执行
    nokeeppatient<-summary(age)
    })
    keeppatient
    nokeeppatient

    {}之间的代码都相对于数据框patientdata执行

    创建可以在with()结构外存在的对象<<-```

    因子

    #名义型变量和有序型变量成为因子
    #作为名义型变量因子存在
    diabetes<-factor(diabetes)
    #有序型变量因子
    status<-factor(status,ordered=TRUE)
    #由于字符类向量,因子的水平默认值是按字母顺序创建,所以可能不合适,用以下方法改变
    status<-factor(status,order-TRUE,levels=("Poor","Improved","Excellent"))
    
    patientID<-c(1,2,3,4)
    age<-c(23,32,43,14)
    diabetes<-c("type1","type2","type1","type1")
    status<-c("poor","excellent","improved","poor")
    #一个名义型变量因子
    diabetes<-factor(diabetes)
    #一个有序型变量因子
    status<-factor(status,ordered=TRUE)
    petientdata<-data.frame(patientID,age,diabetes,status)
    #提供R中某个对象的信息,对象的结构
    str(patientdata)
    #显示对象的统计概要,会区别对待各个变量
    summary(patientdata)```
    
    #列表
    

    一些对象的有序集合

    g<-"my first list"
    h<-c(23,43,23,54)
    j<-matrix(1:10,nrow=5,byrow=TRUE)
    k<-c("one","two","three")

    name1=g来指定项目名称,list可以包含任何数据类型

    mylist<-list(title=g,ages=h,j,k)
    mylist

    选取元素,使用双重方括号

    mylist[[2]]
    mylist[["ages"]]```

    通过这种方式来选择元素

    a<-c(1,2,3,4,5,6,7,8)
    a[a%%2==0]
    #生成步长为4的向量
    seq(1,100,by=4)
    #所以按照步长来选取元素可以这样,done!
    a[seq(1,8,by=2)]```

    相关文章

      网友评论

          本文标题:R--基本数据类型

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