R-字符串

2023-11-12

字符串

文本数据存储在字符向量中(或字符数组中,虽然这比较少见)
字符向量中的每个元素都是字符串,在R中,“字符串”是个常用的非正式术语,因为正式的“字符向量元素”读起来相当拗口

文本的基本单位是字符向量,这意味着大部分字符串处理函数也能用于字符串向量,这与数学运算的向量化方式相同

1. 创建和打印字符串

字符向量可用c函数创建,可以用单引号或双引号把字符串引用出来,只要引号之间匹配即可,不过使用双引号更为标准

c(
	"You should use double quotes most of the time",
	'Single quotes are better for including " inside the string'
)

paste函数能将不同字符串组合起来,在它传入的参数向量中,每个元素都能自我循环以达到最长的矢量长度,然后字符串就被拼接在一起,中间以空格分开
参数sep可以更改分隔符
paste0函数无分隔符
collapse参数把结果收缩成一个包含所有元素的字符串

paste(c("red", "yellow"), "lorry")
## [1] "red lorry" "yellow lorry"
paste(c("red", "yellow"), "lorry", sep = "-")
## [1] "red-lorry" "yellow-lorry"
paste(c("red", "yellow"), "lorry", collapse = ", ")
## [1] "red lorry, yellow lorry"
paste0(c("red", "yellow"), "lorry")
## [1] "reslorry" "yellowlorry"

toString函数是paste的变种,在打印向量时非常有用,使用逗号和空格分隔每个元素,且可限制打印的数量,width参数将限制输出字符数

cat函数是一个低级函数,工作原理类似于paste,不过格式功能更少,将很少直接调用它,它是大部分print函数的基础,cat可接受一个file参数,将输出写入文件

cat(c("red", "yellow"), "lorry")
## [1] "red yellow lorry"

一般情况下,当字符串打印到控制台时,它们会以双引号括起来
noquote函数 去掉这些引号,可以使文本更具可读性

格式化数字

formatC可使用C语言的格式化风格来指定使用固定型或科学型的格式、小数的位数以及输出的宽度
输入都为numeric类型(包括数组),且输出为character字符向量或数组
参数 digits width format flag

更通用的C风格的格式化函数sprintf,第一个参数包含字符串或数字变量的占位符,其它参数将逐个代入这些占位符
R中大部分的数值是浮点值而非整数
%s 另一个字符串
%f 固定型格式浮点数
%e 科学型格式浮点数
%d 整数
和paste函数类似,较短长度的输入将循环自身以匹配最长的输入

sprintf("%s %d = %f", "Euler's constant to the power", pow, powers_of_e)

此外,还有formatprettyNum两个函数
format提供的格式化字符串的语法稍有不同,和formatC的用法基本相似
prettyNum非常适合于格式化那些非常大或非常小的数字

特殊字符

有一些特殊的字符可以被包含在字符串中
\t 制表符
\n 换行符
\r 将光标移动到当前行的开始并覆盖所写的内容
\0 空字符,终止字符串,然而,显式地将它们包含在字符串中是错误地
\ 打印反斜杠
" 打印双引号
如果在被引用的字符串中使用单引号,或在被单引号引用的字符串中使用双引号,则不需要对其进行转义
\a 打印报警符 当想要在一个耗时很长的分析任务结束后主动通知时 alarm()

更改大小写

toupper
tolower

截取字符串

substring
substr
这两个函数,大多数情况下可以任选,当传入了不同长度的向量参数,它们的行为会略有不同
substring输出的长度和最长的输入一样
substr 输出的长度只和第一个输入的相等

分割字符串

strsplit 返回一个列表(而非字符向量或矩阵)
fixed = T意味着split的参数是固定长度的字符串而非正则表达式

strsplit(woodchuck, " ", fixed=T)

文件路径

R有一个工作目录,默认为文件被读写的地方,可以使用getwd查看其位置
setwd改变工作目录

getwd()
## [1] "d:/workspace/LearningR"

setwd("c:/windows")
getwd()

## [1] "c:/windows"

每个路径的目录部分由正斜杠分割
双反斜杠也可以
file.path从各个目录中创建文件路径,它会自动地在目录名称之间插入正斜杠,就像一个更加简单快速的为处理路径而定制的paste函数

file.path("c:", "Program Files", "R". "R-devel")
## [1] "c:/Program Files/R/R-devels"
R.home() # 同样也是R的安装目录
## [1] "c:/Program Files/R/R-devels"

path.expand能将相对路径转换为绝对路径
basename 只返回文件名,而不包括前面的目录位置
dirname 只返回文件的目录

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R-字符串 的相关文章

  • R大数定律(Python切比雪夫不等式验证大数定律)模拟圆周率

    大数定律 在概率论中 大数定律 LLN 是描述大量执行相同实验的结果的定理 根据规律 大量试验所得结果的平均值应接近预期值 并随着试验次数的增加而趋于接近预期值 LLN 很重要 因为它保证了一些随机事件的平均值的长期稳定结果 例如 虽然赌场
  • Rstudio更换主题/样式

    github项目地址 https github com gadenbuie rsthemes 安装 在 rstudio 的控制台console中数据 install packages devtools devtools install gi
  • 看书标记【R语言数据分析与挖掘实战】4

    第四章 数据预处理 4 1 数据清洗 缺失值处理 使用is na 判断缺失值是否存在 complete cases 可以识别样本数据是否完整从而判断缺失情况 删除法 na omit 函数移除所有含有缺失数据的行 data p 删除p列 替换
  • 【生信原理】初探芯片表达谱分析

    初探芯片表达谱分析 文章目录 初探芯片表达谱分析 实验目的 实验内容 实验题目 实验过程 数据的获取 解压与读取 数据预处理 背景纠正 标准化和探针信号汇总等 数据过滤 探针过滤 探针注释 添加基因注释信息 limma差异分析 差异表达基因
  • R语言描述性统计

    使用Hmisc这个包 只需要调用 my data read csv test csv Hmisc describe my data 可以打印出各个变量的均值方差等信息
  • R语言 数据处理(一)

    数据合并 提取及降维处理 install packages dplyr 数据处理包dplyr library dplyr name1 lt c Bob Mary Jane Kim name2 lt c Bob Mary Kim Jane w
  • R语言数据拆分

    博主的话 大家好 这里是bio 先赞后看养成习惯 还没关注的小伙伴点点关注不迷路 今天是南方的小年 祝福大家小年快乐 目录 博主的话 前言 一 split 函数 二 subset 函数 总结 前言 今天继续学习R语言 我们之前已经介绍过了数
  • r语言写九九乘法表并保存为txt文件

    r语言写九九乘法表并保存为txt文件 代码 for i in 1 9 for j in 1 i cat j x i i j t file 九九乘法表 txt append TRUE cat n file 九九乘法表 txt append T
  • 数据挖掘实验(四):决策树归纳 R语言

    一 实验目的 决策树分类算法 decision tree 通过树状结构对具有某特征属性的样本进行分类 其典型算法包括ID3算法 C4 5算法 C5 0算法 CART算法等 本次实验掌握用ID3的信息增益来实现决策树归纳 二 实验软件 Rst
  • 1.R语言基础知识

    目录 一 R语言的介绍 R语言的下载与按照 Rstudio R包的安装 工作空间管理 基本运算 二 R的数据结构 1 数据类型 2 数据类型的转换和判断 3 数据结构 三 导入 导出数据 获取内置数据集 获取其他格式的数据 四 数据框的常用
  • 【报错解决办法】bad restore file magic number (file may be corrupted) -- no data loaded

    今天在服务器上load一个Rdata的时候出现了这个报错 这还是第一次 之前load的都没问题 重装过一次R 上网一搜 发现是r的版本不对 检查之后发现确实如此 windows的R是4 1 2的版本 而linux上是3 6 于是我就重新在l
  • R语言应用序列模式挖掘揭示客户购买行为:深度学习与机器学习的视角

    目录 序列模式挖掘 一个简介 使用R进行序列模式挖掘 应用深度学习和机器学习改善购买行为预测
  • R语言实现文本情感分析

    在本博客中 我们将介绍如何使用R语言进行文本情感分析 我们将介绍如何处理文本数据 构建模型 训练模型并进行情感预测 这里我们将使用IMDb电影评论数据集进行示例分析 数据准备 首先 我们需要下载并加载IMDb电影评论数据集 可以从这里下载数
  • 转载:R语言绘图—图形标题、坐标轴设置

    R语言绘图是通过函数命令及相应参数设置实现的 如plot x y plot为绘图函数命令 x y则是绘图参数 指定了绘图的数据向量 但这种最基本的绘图设置很难满足个性化绘图的要求 我们需要根据需要对图形元素进行设置 图形元素是各类图形的基本
  • R语言GGPLOT2绘制圆环图雷达图/星形图/极坐标图/径向图Polar Chart可视化分析汽车性能数据

    最近我们被客户要求撰写关于可视化的研究报告 包括一些图形和统计输出 漂亮的圆形图 我不确定对数据分析师本身是否有额外的好处 但如果能吸引决策者的注意 那对我来说就是额外的价值 然而 用coord polar 或偶尔发现的ggplot2中的c
  • R语言聚类分析

    本文首发于公众号 医学和生信笔记 完美观看体验请至公众号查看本文 文章目录 系统聚类 层次聚类 Hierarchical clustering 快速聚类 划分聚类 partitioning clustering K means聚类 围绕中心
  • 使用lattice包的bwplot函数绘制箱图比较多个模型在不同指标上的性能差异(R语言)

    使用lattice包的bwplot函数绘制箱图比较多个模型在不同指标上的性能差异 R语言 箱图是一种常用的数据可视化方法 用于表示一组数据的分布特征 包括中位数 四分位数 异常值等 在比较多个模型在多个指标上的性能差异时 箱图可以提供直观的
  • [R语言] R语言PCA分析教程 Principal Component Methods in R

    R语言PCA分析教程 Principal Component Methods in R 代码下载 主成分分析Principal Component Methods PCA 允许我们总结和可视化包含由多个相互关联的定量变量描述的个体 观察的数
  • R-INLA Project目录

    集成嵌套拉普拉斯近似法 INLA 是一种近似贝叶斯推断的方法 在过去的几年里 由于其速度和通过R INLA软件包的易用性 它已经成为马尔科夫链蒙特卡洛等其他方法的替代品 尽管INLA方法的重点是可以表达为潜伏高斯马尔可夫随机场 GMRF 的
  • R语言读取Excel的神器——openxlsx

    作为非程序猿的各位同志们 可能最擅长的数据整理软件或者统计软件就是 嗯 没有错 它就是集万千宠爱于一身的E X O 咳咳咳 好了 隆重推出我们的主角 Excel 事实上 Excel是个super强大的软件 基本上用它已经能完成大量的统计分析

随机推荐

  • Vue 路由守卫详细介绍与演示

    Vue 路由守卫是一种在 Vue js 应用程序中控制路由导航的机制 它允许你在路由变化前 后或在特定路由上执行代码 以便实现诸如权限控制 数据加载 页面切换动画等功能 在下面的介绍中 我将首先提供官方定义和通俗解释 然后详细介绍全局前置路
  • python练习题(十九):有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和

    题目 有一分数序列 2 1 3 2 5 3 8 5 13 8 21 13 求出这个数列的前n项之和 n int input 请输入求和项数 n sum 0 记录前n项和 a 1 分母 b 2 分子 for i in range n n su
  • MinStack 和MaxStack

    leetcode链接 包含min函数的stack 分析 利用一个LinkedList 链表存储数据 类似于链stack 还有数组stack 采用ArrayList存储 关于如何查找最小元素的情况 思路一 双stack stack 保存正常的
  • git stash的用法

    首先 git stash的含义是将修改的代码先暂存起来 让本地仓库回到最后一次提交时的状态 便于代码的更新管理 主要避免修改文件与最新代码的冲突 最近项目中遇到一些文件修改了 暂时不想提交 就想到了使用stash命令 首先 可以将自己想提交
  • 学习笔记整理:网络应用技术-运输层(1)

    以下内容为个人的学习笔记整理 如有错误 请指出 谢谢 一 课前预习 1 数据交换有哪几种方式 电路交换 报文交换 分组交换 2 运输层实现的通信是什么之间的通信 两个网络应用程序之间的通信 3 运输层所说的端口有什么作用 什么是套接字 端口
  • 详解基于tensorflow实现对cifar100的识别,准确率达到65%附完整代码(涉及vggnet,resnet,,loss图像处理,图像增强,BN)

    文章目录 一 介绍cifar 数据集 二 resnet网络简介 a 网络结构图 b 使用resnet进行炼丹 c 第一次炼丹 d 第二次炼丹 完整代码 jupyter notebook 三 vggnet网络简介 a vggnet结构图 b
  • vue-cli+express前后端分离项目跨域问题解决

    1 express后端项目中使用命令npm i cors S安装cors 并在app js文件中引入cors 写下如下几行代码 var cors require cors 跨域 app use cors origin http localh
  • Java集合-HashMap1.8也会发生死循环

    在网上搜资料时候然后发现网上都说1 7版本的HashMap会发生死链也就是死循环 但是在HashMap中也会产生死循环 接下来直接看代码吧 代码 类名字我忘记改了这是我以前看park时候弄的但是这不重要 当你运行 public class
  • [第16课]统计:诸方差公式

    Start 观看可汗视频 本节课 可汗老师对原始方差公式进行推导 得出如下更简洁的公式 2 i
  • MapReduce基础知识(个人总结)

    声明 1 本文为我的个人复习总结 并非那种从零基础开始普及知识 内容详细全面 言辞官方的文章 2 由于是个人总结 所以用最精简的话语来写文章 3 若有错误不当之处 请指出 Writable类型 Java类型 Hadoop Writable类
  • 构建无服务器 ChatGPT 支持的简历助手 - 基础(二)

    之前我们制作了一个简洁的小命令行工具 可以用来帮助我们构建更好的简历 现在我们将该应用程序部署到云中 我将使用 AWS CDK 因为我喜欢它 而且它使此类事情变得相对简单 如果愿意 您当然可以将这些说明改编为 Terraform 首先让我们
  • CDH6.3修改主机IP

    这里写自定义目录标题 修改ip 停服务 进入mysql修改元数据ip 修改各主机的ip 分别修改各主机的ip 修改所有hadoop集群机器中的cloudera scm agent的配置文件 重启服务 修改ip 开始是在公司使用桥接模式 回到
  • 根据XML文件在原始图片上画矩形框

    根据XML文件在原始图片上画矩形框 输入参数 xml src XML文件路径 img src 原始图片路径 代码 def markImage xml src img src root ET parse xml src getroot cou
  • Eclipse 下载与安装(2022超详细)

    一 下载jdk 去官网可以下载 小编把64位已下载好的放网盘 自行下载 链接 https pan baidu com s 1A0 iWtdvYfwepTXzqXWfMA 提取码 cnqz 1 下载好之后自己选择安装目录安装即可 2 配置环境
  • 留学申请计算机硕士个人陈述,计算机专业“个人陈述”样本

    Computer Science Personal Statement Computing and its applications have always fascinated me and for this reason I have
  • iText官方教程

    如果要导出PDF文件 首选当然是iText 从网上也找了些资料 有很多 也有些乱 自己做了个例子 感觉还是很浅 深入的内容还是研究不透 下载了官方的jar包 本来想看看 里面的Demo 结果只有api文档 资料还真是不好找 今天发现官方还是
  • 第1章 Python概述 课后习题参考答案

    一 单选题 1 以下选项中说法不正确的是 答案为D A 解释是将源代码逐条转换成目标代码并同时运行的过程 B 编译是将源代码转换成目标代码的过程 C Python语言是解释型语言 兼有编译功能 D 静态语言采用解释方式执行 脚本语言采用编译
  • jenkins自动化脚本整理

    发布jar文件 规范化Jenkins 编译服务器编译目录设定为 编译脚本目录 bin 发布脚本目录 deploy 编译代码目录 source 1 项目代码目录 创建source dmmclist txt文件 kc tmplt tmpltsv
  • STM32 电机教程 33 - 无刷电机无感控制快速实现

    前言 上一节 STM32 电机教程 32 基于ST X CUBE SPN7 无刷无感电机库的电机驱动实现 给大家分享了ST的官方的无刷电机无感控制实现方案 基于NUCLEO F103RB和X NUCLEO IHM07M1 3SH开发板 并给
  • R-字符串

    字符串 文本数据存储在字符向量中 或字符数组中 虽然这比较少见 字符向量中的每个元素都是字符串 在R中 字符串 是个常用的非正式术语 因为正式的 字符向量元素 读起来相当拗口 文本的基本单位是字符向量 这意味着大部分字符串处理函数也能用于字