R基础(三):数据类型(数值、字符、逻辑)

一、数值型 numeric

# 数值型 numeric
a <- c(2,-2,9.55)
b <- c(4,1,-6.2)class(a)
[1] "numeric"

计算

# 四舍五入
round(a,1)
[1]  2.0 -2.0  9.6abs(a)     # 绝对值
[1] 2.00 2.00 9.55sqrt(a)    # 开平方
sd(a)      # 求标准差a*b        # 乘
a / b      # 除
a %% b     # 余
a %/% b    # 整除a**b    # 求幂
[1]  1.600000e+01 -2.000000e+00  8.394196e-07
a^b     # 求幂
[1]  1.600000e+01 -2.000000e+00  8.394196e-07# 求相关系数
cor(a, b)

二、字符型 character

# 字符型 character
c <- c("ffk","atc","GAt","uuu")
class(c)
[1] "character"

计算

install.packages("tidyverse")
library(stringr)str_count(c,"f")    # 计数
str_sub(c, 1, 3)    # 按位置提取
[1] "ffk" "atc" "GAt" "uuu"
str_subset(c,"c")   # 提取含“c”的元素
[1] "atc"
str_length(c)       # 长度
[1] 3 3 3 3
str_replace_all(c, 'f', 'F')    # 替换所有
[1] "FFk" "atc" "GAt" "uuu"
str_to_lower(c)     # 转小写
[1] "ffk" "atc" "gat" "uuu"str_c(c('chr1', 'chr2', 'chr3', 'chr4'), c, sep = ':')  # 连接
[1] "chr1:ffk" "chr2:atc" "chr3:GAt" "chr4:uuu"str_split(c, '', simplify = T)                          # 拆分[,1] [,2] [,3]
[1,] "f"  "f"  "k" 
[2,] "a"  "t"  "c" 
[3,] "G"  "A"  "t" 
[4,] "u"  "u"  "u"
ustr_sort(c)    # 排序
[1] "atc" "ffk" "GAt" "uuu"

三、逻辑型 logical

# 逻辑型 logical
x <- c(T, F, T)
y <- c(F, F, F)
class(x)
[1] "logical"

计算

x & y    # 与
x && y   # 与x | y    # 或(向量)
x || y   # 或(单元素)!x       # 非all(x)   # 所有都为真?
any(x)   # 至少有一个为真?