R语言常见结构的创建

几种数据结构的常见比较
从数据内容以及数据属性--无维度属性vector-同质同长度matrix--异质同长度dataframe--异质异常度List

向量

创建空的向量创建--填充--添加--移除
a <- c()
vec <- rep(1:3,2)
append(vec,seq(2,33,2))
tt <- append(vec,seq(1,32,2))

因子

--用于分组
tt2 <- as.factor(append(vec,seq(2,33,2)) )
levels(tt2)
labels(tt2)

矩阵和数组

创建空的矩阵--创建--填充--添加--移除
##具有维度属性-dim()
tt3 <-  matrix(vec,2,3)  ##两行三列
matrix(vec,2,3,byrow = TRUE)  #默认是按行填充
matrix(vec,2,3,byrow = FALSE) #按列填充

tt3[,1,drop=T]
tt3[,1,drop=F]
array()

数据框

创建空的数据框--创建--填充--添加--移除
dfr <-  data.frame(tt,tt2,stringsAsFactors = F)
dfr
na.omit(dfr)
str(dfr[,1])
str(dfr[,1,drop=FALSE])
str(dfr[,2])
str(dfr[,2,drop=FALSE]) 
###在提取dataframe的行或者列的时候,通过设置,
##drop=FALSE可以放置提取的行或者列变为向量结构,保持dataframe结果。
#data.frame(colname1 =numeric(n), colname2 = character(n))
##cbind  将参数按列合并,使用前保证参数的行数相同--如不相同也不报错--自动填补-注意!!!
##rbind  merge
##subset

列表

#----创建--填充--添加--移除
##创建空列表,然后对列表进行数据添加
a <- rep(0:9)
K <- length(a)
lst <- list(NULL)
length(lst) <- 2*(K-1)


i <- 1
j <- 1
repeat{ 
        lst[[j]] <- c(a[0:i])
        lst[[j+1]] <- c(a[i+1:(K-i)])
        i <- i+1
        j <- j+2
        if(i> K-1) break
    }


 lst[[18]]   <- NULL
 lst[sapply(lst,is.null)] <- NULL

引用方式

名称索引--位置索引--条件索引

blogroll

social