【生信|R语言学习02】R语言的数据类型1
·
第3章 R语言的数据类型
3.1 基础数据类型
3.1.1 基础数据类型概述
- 数值型(numeric):如100, 0, -3.14
- 整型(integer):如100L, 0L, -3L
- 复数型(complex):如1+2i
- 字符型(character):如"Bioinformatics"
- 逻辑型(logic):TRUE, FALSE, T, F
- 可用
class()函数查看数据类型

3.1.2 R语言的字符串类型及其函数
- R 语言中,字符串是一种表示文本数据的数据类型,它由字符(字符向量)组成,可以包含字母、数字、符号和空格等字符。R 语言字符串可以使用一对单引号
' '或一对双引号" "来表示。
- 单引号字符串中可以包含双引号;单引号字符串中不可以包含单引号。
- 双引号字符串中可以包含单引号;双引号字符串中不可以包含双引号。
a <- '使用单引号'
print(a)
b <- "使用双引号"
print(b)
c <- "双引号字符串中可以包含单引号(') "
print(c)
d <- '单引号字符串中可以包含双引号(") '
print(d)

3.2 结构化数据类型
3.2.1 向量
- 向量(vector):由相同类型元素组成的一维数组。
- 向量的创建:
-
c()函数可以创建向量。
vc <- c("Biochemistry","Bioinformatics") # 字符型向量
vn <- c(1,2,3) # 数值型向量
vl <- c(T,F,F,T) # 逻辑型向量
-
seq(from=a,to=b,by=c):创建范围为[a,b],步长为c的向量。
v = seq(3,20,3)
print(v)

-
rep(x, times = n):创建n维向量,元素全为x
v = rep(2, 4)
print(v)

-
- 随机数向量:
-
-
runif(n,min=a,max=b):随机生成n个范围为[a,b]的值。
-
v <- runif(5,0,1)
print(v)

-
-
rnorm(n, mean = 0, sd = 1):随机生成n个符合N(0,1)的正态分布的值。
-
v <- rnorm(5,0,1)
print(v)

- 向量的下标:
-
v[i]:取出向量v的第i个元素。
- R语言的下标从1开始。
v <- c(1,2,3)
print(v[1])
-
v[a:b]:若a和b均大于0,取出v的第a项至第b项(包括第b项);否则取出除去第a项至第b项(包括第b项)的其他元素。v[向量c]:若c的元素均大于0,取出相应的项;否则取出除相应的项以外的其他项。
v <- c(1,2,3,4,5)
print(v[1]) # 1
print(v[1:3]) # 1 2 3
print(v[-1:-3]) # 4 5
print(v[c(1,3,5)]) # 1 3 5
print(v[c(-1,-3,-5)]) # 2 4

- 向量与标量计算:
v <- c(1,4)
print(v * 10) # 10 40
print(sqrt(v)) # 1 2

- 向量与向量的计算:
-
- 向量对应元素的运算:
a = c(1,2,3)
b = c(3,2,1)
print(a * b)
-
- 向量的内积:
a = c(1,2,3)
b = c(3,2,1)
print(sum(a * b))
-
- 向量的外积:
%o%
- 向量的外积:
a = c(1,2,3)
b = c(3,2,1)
print(a %o% b)
- 向量的统计学函数:
| 函数名 | 含义 |
|
| 求和 |
|
| 求平均值 |
|
| 方差 |
|
| 标准差 |
|
| 最小值 |
|
| 最大值 |
|
| 取值范围(二维向量,最小值和最大值) |
v <- 1:5
sum(v)
mean(v)
var(v)
sd(v)
min(v)
max(v)
range(v)

- 逻辑向量:逻辑向量主要用于向量的逻辑运算。
-
- 将向量的每个元素和一个标量进行比较:
1:5 > 3

-
- 将向量的每个元素和另一个向量的相应元素进行比较:
c(1,3,5,7,9) > 1:5

-
- 筛选元素
v[逻辑向量或筛选条件]:筛选相应元素。
- 筛选元素
v <- 1:5
print(v[(v > 2) & (v < 5)] # 筛选v中大于2且小于5的元素

-
which()函数:可以用于筛选需要的数据的下标。
v <- 1:5
f = v > 3
print(f)
print(which(f))

-
all()函数:检查向量中所有元素是否都为TRUEany()函数:检查向量中所有元素是否含有TRUE
v = c(T,F,T,F)
print(all(v))
print(any(v))

更多推荐


所有评论(0)