R语言之——字符串处理函数
nchar
取字符数量的函数
length与nchar不同,length是取向量的长度
# nchar表示字符串中的字符的个数
nchar("abcd")
[1] 4
# length表示向量中元素的个数
length("abcd")
[1] 1
length(c("hello", "world"))
[1] 2
chartr
字符替换
chartr(old="a", new="c", x="a123")
[1] "c123"
chartr(old="a", new="A", x="data")
[1] "dAtA"
paste和paste0
字符串粘合函数
paste在不指定切割符的情况下,默认切割符是空格
paste0在不指定切割符的情况下,默认切割符是空
# 默认以空格隔开
paste("Hello","world")
[1] "Hello world"
# 没有空格
paste0("Hello","world")
[1] "Helloworld"
# 指定切割符
paste("abc", "efg", "hijk", sep = "-")
[1] "abc-efg-hijk"
# 分别对向量的每个元素进行连接
paste0("A", 1:6, sep = "")
[1] "A1" "A2" "A3" "A4" "A5" "A6"
# collapse參数:每个元素操作之后,再把向量的每个元素进行连接
paste0("A", 1:6, sep = "",collapse = "-")
[1] "A1-A2-A3-A4-A5-A6"
substr
字符串截取函数
substr(x = "hello", start = 1, stop = 2)
[1] "he"
strsplit
字符串的切割函数,能够指定切割符。生成一个list
strsplit("abc", split = "")
[[1]]
[1] "a" "b" "c"
假设要对一个向量使用该函数。须要注意。
# 切割向量的每个元素,并取切割后的第一个元素
unlist(lapply(X = c("abc", "bcd", "dfafadf"), FUN = function(x) {return(strsplit(x, split = "")[[1]][1])}))
[1] "a" "b" "d"
gsub和sub
字符串替换
gsub替换匹配到的所有
sub 替换匹配到的第一个
# 将b替换为B
gsub(pattern = "b", replacement = "B", x = "baby")
[1] "BaBy"
gsub(pattern = "b", replacement = "B", x = c("abcb", "boy", "baby"))
[1] "aBcB" "Boy" "BaBy"
# 仅仅替换第一个b
sub(pattern = "b", replacement = "B", x = "baby")
[1] "Baby"
sub(pattern = "b", replacement = "B", x = c("abcb", "baby"))
[1] "aBcb" "Baby"
grep和grepl
字符串匹配
grep函数返回的是索引值
grepl函数返回的是逻辑值
# 返回匹配到的元素的索引
grep(pattern = "boy", x = c("abcb", "boy", "baby"))
[1] 2
# 返回逻辑值
grepl(pattern = "boy", x = c("abcb", "boy", "baby"))
[1] FALSE TRUE FALSE
match && pmatch &&charmatch
1、match
Usage
match(x, table, nomatch = NA_integer_, incomparables = NULL)
x %in% table
參数:
x: vector or NULL: the values to be matched. Long vectors are supported.
table : vector or NULL: the values to be matched against. Long vectors are not supported. (被匹配的值)
nomatch: the value to be returned in the case when no match is found. Note that it is coerced to integer. (没有match上的返回的值)
incomparables : a vector of values that cannot be matched. Any value in x matching a value in this vector is assigned the nomatch value. For historical reasons, FALSE is equivalent to NULL. (不同来匹配的值)
match函数相似与 %in%,不同的是match返回的是索引,而%in%返回的是逻辑值。
R语言之——字符串处理函数的更多相关文章
- R语言拆分字符串
R语言拆分字符串 aaa<-"aa;bb;cc"ccc<-strsplit(aaa,split=";") bbb<- unlist(strsp ...
- C语言之字符串处理函数
C语言中字符串处理函数介绍 下面介绍8种基本的常用的字符串处理函数,在数值数组中也常常用到(部分函数).所有的C语言编译系统中一般都提供这些函数. 1.puts函数——输出字符串的函数 一般的形式为p ...
- python 和 R 语言 中的 range() 函数
1.python 中的 range() 函数生成整数序列,常用于 for 循环的迭代. 示例: 2.R 语言中的 range() 函数返回一个数值向量中的最小值和最大中,常用于求极差. 示例: 按语: ...
- R语言中的循环函数(Grouping Function)
R语言中有几个常用的函数,可以按组对数据进行处理,apply, lapply, sapply, tapply, mapply,等.这几个函数功能有些类似,下面介绍下这几个函数的用法. Apply 这是 ...
- R语言的字符串处理
R语言字符串的拼接 content<-paste("124235","789","124",sep="@") 运行 ...
- R语言学习4:函数,流程控制,数据框重塑
本系列是一个新的系列,在此系列中,我将和大家共同学习R语言.由于我对R语言的了解也甚少,所以本系列更多以一个学习者的视角来完成. 参考教材:<R语言实战>第二版(Robert I.Kaba ...
- R语言scale与unscale函数
一.scale函数 R语言base库中自带数据标准化接口scale函数,函数介绍如下 Usage scale(x, center = TRUE, scale = TRUE) Arguments x: ...
- R语言中字符串的拼接操作
在R语言中 paste 是一个很有用的字符串处理函数,可以连接不同类型的变量及常量. 函数paste的一般使用格式为: paste(..., sep = " ", collapse ...
- R语言kohonen包主要函数介绍
最近准备写一篇关于自组织映射 (Self-organizing map)的文章.SOM的代码很多,研究了一圈之后目前使用最顺手的是R语言的kohonen包. 这个kohonen包功能很丰富,但是接口不 ...
随机推荐
- django之环境变量配置
1.配置python变量环境,C:\Python27\;C:\Python27\Scripts\ 2.配置django变量环境,C:\Python34\Lib\site-packages\Django ...
- java 封装02
//Person.java public class Person{ private String name; private int age; private String sex; public ...
- DNS服务器的维护与故障排除
1. DNS故障诊断的常用工具或命令 诊断DNS解析故障的四个常用命令工具: ①unbound-checkconf:用于检查unbound服务器配置文件的语法错误 ②unbound-control:是 ...
- weblogic10.3.6打补丁PSU
weblogic的补丁,非付费不能下载... Oracle WebLogic Server Patch Set Update 10.3.6.0.170418 PATCH_ID - RVBS #补 ...
- Condition Variables
Condition Variables Condition variables are synchronization primitives that enable threads to wait u ...
- 数据库行列转换sql
经常折腾数据库,常常遇到数据库行列转换的问题,下面就用一个小例子来演示下如何进行行列转换. 1.创建一张表 CREATE TABLE [android_source]( [CREATETIME] [d ...
- 【LeetCode】214. Shortest Palindrome
Shortest Palindrome Given a string S, you are allowed to convert it to a palindrome by adding charac ...
- 进阶之路(基础篇) - 022 Arduino Leonardo 中文介绍(摘抄)
本文摘抄:http://www.arduino.cn/thread-1205-1-1.html 概述Arduino Leonardo是基于ATmega32u4一个微控制器板.它有20个数字输入/输出引 ...
- UNIX 家族及Linux
Unix成长为一个非私有的操作系统,是因为1956年的AT&T公司受命于联邦去经营电报电话服务.当然也可以开发软件,甚至那个软件可以有”合理”收费的许可证,但是这个公司却被禁止从事任何和计算机 ...
- Git 基础(分布式版本控制系统)
1.Git 简史 自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标.它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统. 2.Git 基 ...