04.2#R基础(系统1)-R的数据结构

来源:互联网 发布:手机自动关机软件 编辑:程序博客网 时间:2024/06/18 07:45
一、R的数据结构

对象的类型:
数值型  Numeric  例如:100、200
字符型  Character  例如:"china"
逻辑型  Logical     例如:true、false
因子型  Factor    表示不同类别b
复数型  Complex   例如2+3i

    向量 (vector) 只能包含同一种类型的对象
    注释#

创建向量 
x<-vector("character",length=10)  #向量类型 向量长度
x1<-1:4  
x2<-c(1,2,3,4)
    如果c中的向量类型不一样,它会将三个元素转换成一样

as.numeric(x4)  #将向量x4转换成数字
as.logical()
as.character()

给向量的元素命名
names(x1)<-c("a","b","c","d")  #第一个元素的名称为a,……

矩阵(matrix)
      向量+维度属性(整数向量:nrow,ncol)

创建矩阵
x<-matrix(nrow=3,ncol=2)   #三行两列
x<-matrix(1:6,nrow=3,ncol=2)  #有内容


y<-1:6
dim(y)<-c(2,3)   #y将变成矩阵 

dim(x)         #查看当前矩阵有多少行列
attributes(x)  #查看当前矩阵的信息


两个矩阵拼接
rbind(y1,y2)  #安行拼接
cbind(y1,y2)  #安列拼接

数组(array)
与矩阵类似,但是维度可以大于2;矩阵只可以等于2
创建数组
x<-array(1:24,dim=c(4,6))
x<-array(1:24,dim=c(2,3,4)) 


列表(list)
可以包含不同类型的对象

创建列表(list)
x<-list("a",2,10L,3+4i,TURE)

列表元素命名
x2<-list(a=1,b=2,c=3)

x3<-list(c(1,2,3),c(4,5,6,7))

给矩阵的元素命名
x<-matrix(1:6,nrow=2,ncol=3)
dimnames(x)<-list(c("a","b"),c("c","d","e"))


因子(factor)
分类数据  有序&无序
整数向量+标签(label)(优于整数向量)

创建因子
x<-factor(c("female","female","male","male","female"))

x<-factor(c("female","female","male","male","female"),levels=c("male","female"))


table(x) 查看因子情况

unclass(x) 去掉因子属性查看内容


缺失值(missing value)
NA/NaN  NaN属于NA,NA不属于NaN

NaN:只表示数字的缺失值

判断是否有缺失值
    is.na(x)  is.nan(x)



数据框(date frame)
存储表格数据(tabular date)
视为各个元素相同的列表
每个元素代表一列数据
每个元素的长度代表行数
元素的类型可以不同

创建数据框
df<-data.frame(id=c(1,2,3,4),name=c("a","b","c","d"),sex=c(TRUE,TRUE,TRUE,FALSE))

nrow(df)  #查看有多少行
ncol(df)   #查看有多少列

data.matrix(df2)  #将数据框转换成矩阵  (需要每列元素的类型都是相同的)


日期与时间(date,time)
日期:DATE
      距离1970-01-01的天数   /date() /Sys.Date()
 weekdays()  months()  quarters()

date() 当前日期时间
x1<-Sys.Date()  

x2<-as.Date("2015-01-01")  #存储为date类型的数据

weekdays(x2)  #查看星期
quarters(x2)  #查看季度
 
时间  POSIXct  POSIXLt
距离距离1970-01-01的过去了多少秒   Sys.time()
POSIXct  :整数 常用于存入数据框
POSIXLt  :列表,还包含星期、年、月、日 

x<-Sys.time()

p<-as.POSIXLt()  转坏类型

name(unclass(p))  查看存储了什么东西
p$sec   #获取秒



0 0
原创粉丝点击