R拥有许多用于存储数据的对象类型
这里对基本数据和操作做一下总结,也方便以后自己查阅
一、R中的基本对象
R中对象有5种基本类型:
字符(character)
数值(numeric: real numbers)
整数(interger)
复数(complex: 4+2i)
逻辑(logical:TRUE,FALSE)
R中对象有4种基本属性:名称(name)维度(dimensions:matrix,array)类型(class)长度(length)
二、R中的数据结构
R中的数据结构有6种
包括:标量、向量、矩阵、数组、数据框和列表
查看对象类型的命令:class(x)
1.标量
标量是只含一个元素的向量
x1<- 5 x2 <- "hello" x3 <- TRUE
它们用做保存一个常量
2.向量(vector)
可以包含多个同一类型元素的对象
创建方法:
访问方法:x <- vector("character",10) x1 <- 1:5 x2 <- c(1,2,3)
#创建一个向量1:10填充 x <- 1:10 #读取第2个元素 x[2] #第二个和第四个元素 x[c(2,4)]
3.矩阵(matrix)
矩阵可以看作向量+维度属性
创建方法:
x <- matrix(nrow=3 ,ncol=2) #建立3行2列空矩阵 x <- matrix(1:6, nrow=3, ncol=2) #先列后行的方式初始化并建立3行2列矩阵
dim(x) #查看矩阵行列数 attributes(x) #查看矩阵属性及行列数(例如:维度属性:3行2列) $dim [1] 3,2 y <- 1:6 dim(y) <- c(2,3) #先建立向量,然后附加维度属性,使之成为矩阵。 y2 <- matrix(1:6, nrow=2, ncol=3) #建立一个和y相同的矩阵 rbind(y,y2) #将矩阵按行合并(行数增加,列数不变) cbind(y,y2) #将矩阵按列合并(列数增加,行数不变)
访问方法:
x[2, ] 表示选取矩阵第二行元素 x[, 2] 表示选取矩阵第二列元素 x[1, 4] 表示选取矩阵第一行第四列元素 x[1, c(4, 5)] 表示选取矩阵第一行的第四个第五个元素
4.数组(array)
数组与矩阵相似,但数组可以是多维,矩阵只能是二维
创建方法:
x<-array(1:24,dim=c(3,8)) #array(内容,维度)
5.数据框(data frame)
数据框在数据分析中经常被使用,用来存储表格数据(tabular data); 视为各元素长度相同的列表 *每个元素代表一列数据 *每个元素的长度代表行数 *元素类型可以不同 data frame数据框:同一列数据类型相同,且每一列长度相等
创建方式:数据框的每列元素可以不同,而矩阵则要求一样。df <- data.frame(id=c(1,2,3),name=c("a","b","c"),gender=c("TRUE","TRUE","FALSE")) nrow(df) #查看数据框行数 ncol(df) #查看数据框列数 data.matrix(df2) #数据转矩阵,元素是同种类型的
访问方法:
df[1:2] #表示选取第一列第二列数据 df[c("id","name","gender")] #选取列名为id,name,gender的数据
6.列表(list)
列表可以包含不同类型的对象
创建方法:
l <- list("a", 2, 10L, 3+4i, TRUE) #建立列表 l2 <- list(a=1 ,b=2 ,c=3) #为列表元素命名 l3 <- list(c(1,2,3),c(4,5,6,7)) #列表元素可以是向量,创建元素个数大于1 x <- matrix(1:6, nrow=2, ncol=3) dimnames(x) <- list(c("a","b"),c("c","d","e"))#为矩阵维度(行、列)命名
三、最后
先就这样吧,以后补充
附上数据结构联系图(图出自慕课网)