R语言笔记丨字符串和列表必学基础知识

简介: R语言笔记丨字符串和列表必学基础知识

今天学习的主要内容是R语言中字符串列表的基础知识和使用方法。

R语言字符串

字符串可以使用一对单引号'这里添加文字'或一对双引号"这里也可以"来表示。同一种引号不可以嵌套使用,如下:

  • 单引号字符串中可以包含双引号,不可以包含单引号。
  • 双引号字符串中可以包含单引号,不可以包含双引号。

字符串的操作

  • paste函数

该函数能拼接字符串,默认语法格式为paste(..., sep = " ", collapse = NULL)  其中sep参数代表拼接时分隔符,默认是一个空格。如果拼接的元素是向量,那么先拼接每个元素,然后用collapse参数进行连接。比如下方示例,letters函数能依次生成大写字母,1:3表示从1到3依次的整数,结果中先是一个字母连接一个数字,然后将三部分用“和”连接。

> paste(letters[1:3],1:3,sep = "+",collapse = "和")
[1] "a+1和b+2和c+3"
  • format函数

语法格式为format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none"))

参数说明:

  • x :输入对向量
  • digits :显示的位数
  • nsmall :小数点右边显示的最少位数
  • scientific :设置科学计数法
  • width :通过开头填充空白来显示最小的宽度
  • justify:设置位置,显示可以是左边、右边、中间等。
> print(format(1.324,digits=2)) 
#显示两位,最后一位四舍五入
[1] "1.3"
> print(format(1.324,scientific = TRUE)) 
#使用科学计数法
[1] "1.324e+00"
> print(format(1.2,nsmall = 5))  
#小数点后侧最少显示多少位,没有的用0代替
[1] "1.20000"
> print(format(6)) 
#将数字转为字符串
[1] "6"
> print(format(1.6,width = 5)) 
# 宽度设为5,如果位数不够在前面自动加空格,如果位数超出无变化。
[1] "  1.6"
> print(format("shengxinbiji",width = 17,justify = "c" )) 
#字符串对齐方式选择,左对齐l,右对齐r,居中c
[1] "  shengxinbiji   "
  • nchar函数

用于统计字符串的长度,语法格式为nchar(),也可以统计向量或数字。如下

> nchar("shengxinfenxibiji")
[1] 17
  • substring函数

语法结构为substring("字符串",开始截取位置,结束截取位置),使用如下:

> substring("shengxinfenxibiji",9,13) 
[1] "fenxi"
# 将输入字符串从第9位到第13位之间内容截取出来

R语言列表

列表是 R 语言的对象集合,可以用来保存不同类型的数据,可以是数字、字符串、向量、另一个列表等,当然还可以包含矩阵和函数。

R语言使用list()命令来创建列表,创建一个包含多种数据结构的列表,用names()命名元素,并输出它,如下:

list_one = list("shengxin","biji",c(1,2,3),4)
names(list_one) = c("a","b","c","d")
print(list_one)
#输出结果如下:
$a
[1] "shengxin"
$b
[1] "biji"
$c
[1] 1 2 3
$d
[1] 4
# 命名后,可以使用“列表名$元素名”调取指定内容
print(list_one $ a)
[1] "shengxin"
  • 操作列表元素

可以对列表进行添加、删除、更新的操作。下面进行示例:

> # 首先创建一个包含字符串、矩阵、列表的列表
> list_two = list(c("sheng","xin"),matrix(c(1,2,3,4,5,6),nrow = 2),list("bi ji",7))
> # 对元素进行命名
> names(list_two) = c("zifu","juzhen","liebiao")
> # 添加元素
> list_two[4] = "new" #列表后面加方括号代表列表的第几个元素
> print(list_two[4])
[[1]]
[1] "new"
> # 删除元素
> list_two[4] = NULL #删除即把值和值的位置全部设为空NULL
> print(list_two)
$zifu
[1] "sheng" "xin"  
$juzhen
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
$liebiao
$liebiao[[1]]
[1] "bi ji"
$liebiao[[2]]
[1] 7
> # 更新修改元素
> list_two[3] = "translate"
> print(list_two[3])
$liebiao
[1] "translate"
  • 合并列表

使用c()命令将多个列表合成一个列表。合并过程中会依次按照列表中元素原来的位置依次生成新列表,如下:

> # 合并列表
> list1 = list("sheng","xin")
> list2 = list(5,6)
> out_list = c(list1,list2) #合并步骤
> print(out_list)
[[1]]
[1] "sheng"
[[2]]
[1] "xin"
[[3]]
[1] 5
[[4]]
[1] 6
# 按顺序输出元素
  • 列表转化为向量

列表转换为向量可以使用 unlist() 函数。将列表转换为向量,可以方便我们进行算术运算,如下:

> # 创建两个列表
> list_1 = list(1:3)
> list_2 = list(4:6)
> # 转化为向量
> v_1 = unlist(list_1)
> v_2 = unlist(list_2)
> # 两个向量算数相加
> out_sum = v_1 + v_2
> print(out_sum)
[1] 5 7 9  #两个向量相加,会把相同位置的元素相加,结果仍是向量。

参考资料:

https://www.runoob.com/r

相关文章
R语言笔记丨绘图基础知识:饼图、条形图
R语言笔记丨绘图基础知识:饼图、条形图
R语言笔记丨从零学起?环境安装、基础知识、运算法则、数据类型(下)
R语言笔记丨从零学起?环境安装、基础知识、运算法则、数据类型(下)
|
数据挖掘
R语言笔记丨数据的合并、拆分、整合
R语言笔记丨数据的合并、拆分、整合
R语言笔记丨因子、数据框基础知识
R语言笔记丨因子、数据框基础知识
R语言笔记丨数据结构常见错误与注意事项
R语言笔记丨数据结构常见错误与注意事项
|
XML JSON 关系型数据库
R语言笔记丨数据储存文件的类型与介绍
R语言笔记丨数据储存文件的类型与介绍
|
数据挖掘 Linux 数据处理
R语言笔记丨数据的创建和转换
R语言笔记丨数据的创建和转换
R语言笔记丨数据的创建和转换
R语言笔记丨矩阵、数组介绍
R语言笔记丨矩阵、数组介绍
R语言笔记丨三大法宝:判断、循环、函数
R语言笔记丨三大法宝:判断、循环、函数