1. 向量 Vector
向量是用于储存数值型、字符型或逻辑型数据的一维数组。执行组合功能能的函数可用来创建向量。
- 数值型向量:a <- c(1,2,5,3,6,-2,4)
- 字符型向量:b <- c("one","two","three")
- 逻辑性向量:c <- c(Ture,FALSE,T,F)
单个向量中的数据必须拥有相同的类型或模式(即数值型、字符型或逻辑型)。同一向量中无法混杂不同模式的数据。
a <- c("US", "UK", "CHINA", "FRANCE", "GERMANY", "RUSSIA")
a
a[3] #提取a的第3个数值
a[c(1, 3, 5)] #提取a中第1、3、5的数值
a[3:6] #提取a中第3至6的数值
a <- c(2:6) #创建含有2至6的数值型向量,并对a赋值
a
2. 矩阵 Matrix
矩阵是一个二维数组,知识每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数创建矩阵。
x <- matrix(1:20, nrow=5, ncol=4, byrow=T) #按行填充
x
x[2,] #提前第2行
x[,3] #提前第3列
x[2,3] #提前第2行第3列的元素
#给行和列添加名称
rowname <- c("R1", "R2", "R3", "R4", "R5")
colname <- c("C1", "C2", "C3", "C4")
y <- matrix(1:20, nrow=5, ncol=4, byrow=F, dimnames=list(rowname, colname)) #按列填充
y
y[2,] #提取第2行
y[,3] #提取第3列
y[2,3] #提取第2行第3列的元素
3. 数组 Array
数组与矩阵类似,但是维度可以大于2。数组可通过函数创建。
数组是矩阵的一个自然推广。它们在编写新的统计方法时很有用。像矩阵一样,数组中的数据也只能拥有一种模式。从数组中选取元素的方法与矩阵相同。
dim1 <- c("A1", "A2")
dim2 <- c("B1", "B2", "B3")
dim3 <- c("C1", "C2", "C3", "C4")
z <- array(1:24, c(2,3,4), dimnames=list(dim1, dim2, dim3)) #创建三维(2×3×4)数值型数组
z
4. 数据框 Data Frame
这是R语言最常用的数据类型。不同的列可以包含不同模式的数据。每一列数据的模式必须相同,且必须等长。数据框可通过函数创建。
patientID <- c(1, 2, 3, 4)
age <- c(25, 34, 28, 52)
diabetes <- c("Type1", "Type2", "Type1", "Type1")
status <- c("Poor", "Improved", "Excellent", "Poor")
demodata <- data.frame(patientID, age, diabetes, status)
demodata
View(demodata)
demodata[,1:2] #提取1-2列
demodata[c("patientID","age")]
demodata$age #提取某个特定变量
table(demodata$diabetes, demodata$status) #生成列联表
5. 列表 List
列表是一些对象(或成分)的有序集合。列表允许你整合若干(可能无关的)对象到单个对象名下。例如,某个列表中可能是若干向量、矩阵、数据框,甚至其他列表的组合。可以使用函数创建列表。
许多R的运行结果都是以列表的形式返回的。需要取出其中哪些成分由分析人员决定。
a <- "My List"
b <- c(25, 26, 18, 39)
c <- matrix(1:10, nrow=5)
d <- c("one", "two", "three")
list <- list(title=a, age=b, c, d)
list
#提取某个成分
list[["age"]]
list[[3]]
网友评论