注:R语言的再复习之路
1.数据结构
1.1 向量
单个向量中的数据必须拥有相同的类型或模式(数值型、字符型、逻辑型)
1.2 矩阵
m <- matrix(vector,
nrow = number_of_rows,
ncol = number_of_columns,
byrow = logical_value,
dimnames = list(char_vector_rownames, char_vector_colnames))
# 例
m <- matrix(1:4,
nrow = 2,
nrow = 2,
byrow = T,
dimnames = list(('R1', 'R2'), ('C1', 'C2')))
1.3 数组
数组与矩阵类似,但是维度可以大于2
a <- array(vector, dimensions, dimnames)
# 例
dim1 <- c('A1', 'A2')
dim2 <- c('B1', 'B2', 'B3')
dim3 <- c("C1", "C2", "C3", "C4")
a <- array(1:24, c(2, 3, 4), dimnames = list(dim1, dim2, dim3))
1.4 数据框
# 固定数据框
attach(mtcars)
# 解除固定
detach(mtcars)
# 创建列联表
table(vector1, vector2)
# 设定数据框的行名
d <- data.frame(vector1, vector2, vector3, row.names = r_n)
with(mtcars, {
nokeepstates <- summary(mpg)
keepstats <<- summary(mpg)
})
如果需要创建在with()结构以外存在的对象,使用特殊赋值符<<-替代标准赋值符<-,这样就可将对象保存到with()之外的全局环境中。
1.5 因子
变量可以归结为名义型、有序型、连续型,其中类别(名义型)变量和有序类别(有序型)变量在R中称为因子。
# 例1
status <- c("Poor", "Improved", "Excellent", "Poor")
status <- factor(status, order=TRUE,
levels=c("Poor", "Improved", "Excellent"))
# 例2
sex <- factor(sex, levels=c(1, 2), labels=c("Male", "Female"))
1.6 列表
g <- 'My First List'
h <- c(25, 26, 18, 39)
j <- matrix(1:10, nrow = 5)
k <- factor(c(1, 2, 2, 2, 1, 2, 1, 1), levels = c(1, 2), labels = ('study', 'game'))
l <- list(title = g, age = h, j, date = k)
注:R语言不提供多行注释的功能,如果想要调试,可以把代码放入if (FALSE) {...}
中,将FALSE改为TRUE即可执行这块代码
2.数据的输入
2.1 使用键盘输入数据
mydata <- data.frame(age=numeric(0),
gender=character(0),
weight=numeric(0))
mydata <- edit(mydata) / fix(mydata)
注:创建长度固定的初始向量可以使用c <- numeric(length = ...)
或者c <- character(length = ...)
来创建
2.2 处理数据对象的实用函数
函数 | 用途 |
---|---|
str(object) | 显示某个对象的结构 |
class(object) | 显示某个对象的类或类型 |
mode(object) | 显示某个对象的模式 |
names(object) | 显示某个对象中各成分的名称 |
cbind(object1, object2) | 按列合并对象 |
rbind(object1, object2) | 按行合并对象 |