1. 向量(vector)
- R中最小的数据类型是向量,R没有标量类型
- x=2,x可以看成是只具有一个数值的向量
a=c(1,2,3,4,5)
b=c(1:10)
d= 1:10
e=c(TRUE,FALSE,FALSE,TRUE)
f= letters
2. 数组(array)
array(data = NA, dim = length(data), dimnames = NULL)
as.array(x, ...)
is.array(x
- 数组能存放多维矩形数据。
- “矩形”是指每行的长度都相等,且每列和其他长度也是如此。
- 使用 array 函数创建一个数组,为它们传入两个向量(值和维度)作为参数。另外, 你也可以为每个维度命名
three_d_array <- array( 1:24,
dim = c(4, 3, 2),
dimnames = list(
c("one", "two", "three", "four"),
c("ein", "zwei", "drei"),
c("un", "deux") ) )
3. 矩阵(matrix)
matrix(data = NA, nrow = 1, ncol = 1,
byrow = FALSE,dimnames = NULL)
as.matrix(x, ...)
## S3 method for class 'data.frame'
as.matrix(x, rownames.force = NA, ...)
- 矩阵是二维数组的特例(2×2 array)
- 创建矩阵的语法非常类似,但无需传递维度 dim 参数,只要指定行数或列数即可
a_matrix <- matrix(
1:12,
nrow = 4, #ncol = 3 也是同样的效果
dimnames = list(
c("one", "two", "three", "four"),
c("ein", "zwei", "drei")
)
)
4. 列表(list)
list(...)
pairlist(...)
as.list(x, ...)
## S3 method for class 'environment'
as.list(x, all.names = FALSE, sorted = FALSE, ...)
as.pairlist(x)
is.list(x)
is.pairlist(x)
alist(...)
- 不严格地说,列表是一个向量,但其中每个元素的类型可以不同。
a_list <- list(
c(1, 1, 2, 5, 14, 42), # 第1项
month.abb, # 第2项
matrix(c(3, -8, 1, -3), nrow = 2), # 第3项
asin # 第4项
)
5. 数据框(dataframe)
data.frame(..., row.names = NULL, check.rows = FALSE,
check.names = TRUE, fix.empty.names = TRUE,
stringsAsFactors = default.stringsAsFactors())
default.stringsAsFactors()
- 数据框用于存储类似电子表格的数据。它们既可被看作是每列可存储不同数据类型的矩阵,或是非嵌套的列表,
- 但其中每个元素必须具有相同的长度。
a_data_frame <- data.frame(
x = letters[1:5],
y = rnorm(5),
z = runif(5) > 0.5
)
注意每项(每列)的长度都是5
网友评论