【生信|R语言学习01】R语言基础语法-CSDN博客

第3章 R语言的数据类型

3.1 基础数据类型

3.1.1 基础数据类型概述

  1. 数值型(numeric):如100, 0, -3.14
  2. 整型(integer):如100L, 0L, -3L
  3. 复数型(complex):如1+2i
  4. 字符型(character):如"Bioinformatics"
  5. 逻辑型(logic):TRUE, FALSE, T, F
  • 可用class()函数查看数据类型

3.1.2 R语言的字符串类型及其函数

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

b <- "使用双引号"
print(b)

c <- "双引号字符串中可以包含单引号(') "
print(c)

d <- '单引号字符串中可以包含双引号(") '
print(d)

3.2 结构化数据类型

3.2.1 向量

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

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

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

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

  1. 向量的下标:
    1. v[i]:取出向量v的第i个元素。
  • R语言的下标从1开始
v <- c(1,2,3)
print(v[1])
    1. v[a:b]:若ab均大于0,取出v的第a项至第b项(包括第b);否则取出除去第a项至第b项(包括第b)的其他元素。
    2. 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

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

  1. 向量与向量的计算:
    1. 向量对应元素的运算:
a = c(1,2,3)
b = c(3,2,1)
print(a * b)
    1. 向量的内积:
a = c(1,2,3)
b = c(3,2,1)
print(sum(a * b))
    1. 向量的外积:%o%
a = c(1,2,3)
b = c(3,2,1)
print(a %o% b)
  1. 向量的统计学函数:

函数名

含义

sum()

求和

mean()

求平均值

var()

方差

sd()

标准差

min()

最小值

max()

最大值

range()

取值范围(二维向量,最小值和最大值)

v <- 1:5
sum(v)
mean(v)
var(v)
sd(v)
min(v)
max(v)
range(v)

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

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

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

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

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

更多推荐