初识-R语言-数据类型

R语言数据类型

在这里插入图片描述

原子数据类型(6种,也被称为原子向量):

  1. logical(逻辑型)
    • TRUE
    • FALSE
  2. numeric(数字)
  3. 整型
  4. 复合型(复数)
  5. Character(字符),如 'a', "good", '12.3', "TRUE"
  6. Raw(原生型)

还有一些R对象

  1. 矢量(向量)
  2. 列表
  3. 矩阵
  4. 数组
  5. 因子
  6. 数据帧

创建向量

用多个元素创建向量时,应使用 c() 函数

a <- c(1,2,3,'b', 'd')
print(a)

#输出:
[1] "1" "2" "3" "b" "d"        #注意数字、字符混合后输出的都是字符

注意: R语言的索引从1开始,例如:

a <- c(11,22,33,'b', 'd')
print(a[1])

#输出
"11"

创建列表(lists)

使用 list() 函数创建列表

L1 <- list(1,2,3,'a',"b")
print(L1)

#输出
[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

[[4]]
[1] "a"

[[5]]
[1] "b"

列表内的元素可以是一个向量,函数,甚至是另一个列表

L2 <- list(c(1,2), 21.3, sin)  #含有sin函数
print(L2)
#输出:
[[1]]
[1] 1 2

[[2]]
[1] 21.3

[[3]]
function (x)  .Primitive("sin")

创建矩阵(Matrices)

使用 matrix() 函数创建矩阵,矩阵是二维的数据集。

print(matrix(c(1,2,3,4,5,6)))
#输出
	  [,1]
[1,]    1
[2,]    2
[3,]    3
[4,]    4
[5,]    5
[6,]    6

指定行数,使用 nrowncol 参数(默认是输完一列再输出下一列的):

print(matrix(c(1,2,3,4,5,6),nrow = 2))    #2行

#输出
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

print(matrix(c(1,2,3,4,5,6),ncol = 2))    #2列
#输出:
     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6

输完一行再输出下一行:(byrow参数)

print(matrix(c(1,2,3,4,5,6),nrow = 2,byrow = TRUE))

数组(Arrays)

使用 array()函数:

a <- array(c(1,2,3,4),dim=c(2,4,3))  #2行4列3组
print(a)

#输出
, , 1    #表示第1组

     [,1] [,2] [,3] [,4]
[1,]    1    3    1    3
[2,]    2    4    2    4

, , 2   #表示第2组

     [,1] [,2] [,3] [,4]
[1,]    1    3    1    3
[2,]    2    4    2    4

, , 3   #表示第3组

     [,1] [,2] [,3] [,4]
[1,]    1    3    1    3
[2,]    2    4    2    4

因子(Factors)

因子可以将向量和向量中的不同值一起存储为标签,标签总是字符。

使用 factor() 函数创建因子,nlevels() 函数给出级别数

b <- factor(c(11,22,22,22,33,33,44,55))
print(b)

#输出
[1] 11 22 22 22 33 33 44 55
Levels: 11 22 33 44 55

print(nlevels(b))
#输出
[1] 5

数据帧(Data Frames)

数据帧是表格类的数据对象,列与列的数据类型可以不同,比如第一列是数字,第二列是字符,第三列是逻辑的。它可以通过多个等长的向量并使用 data.frame()函数打包来创建。

x <- c(1,2,3,4)
y <- c('a','b','c','d')
z <- c(11,22,33,44)

df = data.frame(x,y,z)
print(df)

#输出:
  x y  z
1 1 a 11
2 2 b 22
3 3 c 33
4 4 d 44
posted @ 2020-08-01 10:33  aJream  阅读(103)  评论(0编辑  收藏  举报