京公网安备 11010802034615号
经营许可证编号:京B2-20210330
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%返回的是逻辑值。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
先回答:下半年能考的证书,大致分四类 2026年下半年仍有报名或考试安排的证书,主要集中在四个方向:财会金融类(如注册会计师 ...
2026-10-27毕业后该考什么证书,答案不是一张热门榜单,而是一个顺序问题:先确定你要投的岗位方向,再判断哪些证书现在就能报、哪些要等工 ...
2026-10-2734岁考证,和二十多岁刚毕业时不是同一道题。这个年龄找工作,招聘方通常已经默认你有十年上下的工作积累,会拿“经验能不能直接 ...
2026-10-27咨询岗位最该优先掌握的不是某个工具,而是四类能串起项目全流程的能力:问题定义与结构化拆解、指标与对比分析、数据获取与清洗 ...
2026-10-27多数咨询岗位需要一定程度的数据分析能力,但“需要”不等于“必须会写代码或建模型”。咨询顾问至少要能看懂客户给的数据、把业 ...
2026-10-27咨询岗位的分析能力,不是“会套框架”或“PPT写得漂亮”,而是一条从问题到结论的能力链:问题拆解—假设验证—信息获取—数据 ...
2026-10-27需要,而且它不是“加分项”,是日常工作的基本工具。直播运营每天要面对选品排期、流量承接、转化复盘和投流决策,这些任务的结 ...
2026-10-27证券分析师的培训需求,最好从“最终要交什么”往回推。日常输出大致四类:行业跟踪报告、财报拆解与盈利预测、估值模型、路演与 ...
2026-10-27先给答案:一张四层知识地图 如果只用一句话回答“证券分析师最重要的知识是什么”,答案是:以财务分析和估值建模为硬核,以行 ...
2026-10-27市场策划不是“会写文案、能办活动”这么简单。招聘方真正考察的,是你能否围绕一个业务目标,完成从调研、人群判断、创意主题、 ...
2026-10-27市场运营想靠学习推动职业发展,容易掉进两个坑:一是把课程清单当能力清单,学完不知道用在哪;二是只补营销方法,遇到渠道效果 ...
2026-10-27产品运营做久了,很容易陷入一种忙碌:活动一场接一场,功能推了一版又一版,日报周报天天写,但说不清自己到底积累了什么。想提 ...
2026-10-27运营岗的“快速提升”,不是把Excel、SQL、Python挨个学一遍,而是先补上能立刻改变工作产出的能力。判断标准很直接:同样一场活 ...
2026-10-27优秀市场专员的能力不是单点技能堆出来的,而是“用户洞察—内容与活动策划—渠道获客—数据复盘”四块形成闭环。想快速上手,正 ...
2026-10-27运营专员的“通用知识”,不是一份越长越好的工具清单,而是能支撑日常任务判断的一套底盘。不同细分方向差异很大:用户运营更关 ...
2026-10-27运营专员最常见的困境不是不忙,而是忙完之后说不清效果:活动做了、内容发了、社群拉了人,汇报时却只有“曝光多少、入群多少” ...
2026-10-27运营经理提升职业知识,靠的不是多报几门课,而是先有一张自己的“知识地图”,再按当前岗位最卡壳的环节排顺序。比较实用的做法 ...
2026-10-27运营岗位的能力素质提升,核心不是把工具学一遍,而是围绕“目标拆解—用户洞察—执行落地—数据复盘”四层能力逐层补齐。工具是 ...
2026-10-27运营岗位的能力提升,最容易走成两条弯路:一是把“提升”等同于学工具,Excel、SQL、Python挨个报班,回到工作里还是凭经验拍脑 ...
2026-10-27运营岗最容易陷入的学习误区,是把“提升”等同于收藏平台玩法、追热点模板、背活动话术。这些内容有用,但迁移性差:换个行业、 ...
2026-10-27