京公网安备 11010802034615号
经营许可证编号:京B2-20210330
1、字段抽取
字段截取函数:substr(x,start,stop)
[python] view plain copy
tel <- '18922254812';
#运营商
band <- substr(tel, 1, 3)
#地区
area <- substr(tel, 4, 7)
#号码段
num <- substr(tel, 8, 11)
tels <- read.csv('1.csv');
#运营商
bands <- substr(tels[,1], 1, 3)
#地区
areas <- substr(tels[,1], 4, 7)
#号码段
nums <- substr(tels[,1], 8, 11)
new_tels <- data.frame(tels, bands, areas, nums)
2、字段合并
字段合并,是指将同一个数据框中的不同列,进行合并,形成新的列
字符分割函数:paste(x1,x2,...,sep=" ")
[python] view plain copy
data <- read.table('1.csv', sep=' ')
p_data <- paste(data[,1], data[,2], data[,3], sep="")
newData <- data.frame(data, p_data)
3、记录合并
将两个结构相同的数据框,合并成一个数据框
记录合并函数:rbind(dataFrame1,dataFrame2,...)
[python] view plain copy
data_1_1 <- read.table('1.csv', sep='|', header=TRUE, fileEncoding='utf-8');
data_1_2 <- read.table('2.csv', sep='|', header=TRUE, fileEncoding='utf-8');
data_1_3 <- read.table('3.csv', sep='|', header=TRUE, fileEncoding='utf-8');
data <- rbind(data_1_1, data_1_2, data_1_3)
fix(data)
4、字段匹配
将不同结构的数据框,按照一定的条件进行合并(两表合并)
字段匹配函数:merge(x,y,by.x,by.y)
[python] view plain copy
items <- read.table('1.csv', sep='|', header=FALSE, fileEncoding='utf-8')
fix(items)
prices <- read.table('2.csv', sep='|', header=FALSE, fileEncoding='utf-8')
fix(prices)
itemPrices <- merge(prices, items, by.x=c('V1'), by.y=c('V1'))
fix(itemPrices)
Join( )也可以用来实现两表连接:
[python] view plain copy
inner_join(t1,t2,by=c("列名1","列名2"))
#功能等于:
merge(t1,t2,by.x="列名",by.y="列名")
#还有其他的join方式:
full_join 全连接
left_join 左连接
right_join 右连接
5、字符串处理高级技巧
[python] view plain copy
x <- c("Hellow", "World", "!")
#一、字符串长度
nchar(x)
#[1] 6 5 1
length(x)
#[1] 3
#二、字符串替换
chartr("HW", "ZX", x)
#[1] "Zellow" "Xorld" "!"
#三、字符串的大小写转换
tolower(x)
#[1] "hellow" "world" "!"
toupper(x)
#[1] "HELLOW" "WORLD" "!"
#四、字符串的拼接
paste("CK", 1:6, sep="")
#[1] "CK1" "CK2" "CK3" "CK4" "CK5" "CK6"
x <- list(a="aaa", b="bbb", c="ccc")
y <- list(d=1, e=2)
paste(x, y, sep="-")
#较短的向量被循环使用
#[1] "aaa-1" "bbb-2" "ccc-1"
#五、字符串切割
text <- "Hello word!"
strsplit(text, ' ')
#[[1]]
#[1] "Hello" "word!"
class(strsplit(text, ' '))
#[1] "list"
#有一种情况很特殊:
#如果split参数的字符长度为0,得到的结果就是一个个的字符:
strsplit(text, '')
#[[1]]
# [1] "H" "e" "l" "l" "o" " " "w" "o" "r" "d" "!"
#一个首字符大写的综合案例
capStringAll <- function(x)
{
s <- strsplit(x, " ")[[1]]
paste(toupper(substring(s, 1, 1)), substring(s, 2),
sep = "", collapse = " ")
}
capStringAll("hello word")
#[1] "Hello Word"
capString <- function(x)
{
s <- strsplit(x, " ")[[1]]
s[1] <- paste(toupper(substring(s[1], 1, 1)), substring(s[1], 2), sep = "", collapse = " ");
paste(s, sep = "", collapse = " ")
}
capString("hello word")
#[1] "Hello word"
#六、字符串的查找
#grep, grepl: 返回pattern的匹配项。
#前者返回匹配项目的下标;后者返回逻辑值,x长度有多少,就返回多少个逻辑值。
#如果添加一个value参数,赋值为T,则返回匹配项的值。
text <- c("Company", "Coworker", "Cooperation", "Can")
grep("o", text)
#[1] 1 2 3
grepl("o", text)
#[1] TRUE TRUE TRUE FALSE
grep("o", text, value = T)
#[1] "Company" "Coworker" "Cooperation"
#七、字符串的替换
#sub, gsub: 返回用replacement替换匹配项之后的x(字符型向量)。
#前者只替换向量中每个元素的第一个匹配值,后者替换所有匹配值。
#注意以下两个例子中"o"的替换方式。
sub("o", "xx", text)
#[1] "Cxxmpany" "Cxxworker" "Cxxoperation" "Can"
gsub("o", "xx", text)
#[1] "Cxxmpany" "Cxxwxxrker" "Cxxxxperatixxn" "Can"
#八、字符串的截取
x <- "123456789"
substr(x, 2, 4)
#[1] "234"
substring(x, c(2,4), c(4,5,8))
#[1] "234" "45" "2345678"
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA数据分析师 出品 作者:李诗怡 1. VLOOKUP:按行跨区域找数据(最常用) 作用:在指定的表格或数据区域的第一列里找目标值, ...
2026-10-23数据敏感度不是天赋,也不是“看一眼数字就能发现问题”的直觉。对市场专员来说,它更接近一套可练习的工作习惯:看到投放ROI、 ...
2026-10-23市场营销专员转数据分析,不是从零重来。你已有的渠道投放、活动执行、线索跟进经验,本身就是分析工作的原料——缺的不是业务理 ...
2026-10-23先说结论:市场岗位并非必须考数据分析证书。招聘方更常看的是你能否把渠道效果、活动ROI、线索转化这些业务问题讲清楚,证书只 ...
2026-10-23市场分析师的职场知识提升,最怕两件事:一是把“学工具”当成学习本身,Excel、SQL、Python轮着学一遍,回到工作里还是不知道怎 ...
2026-10-23市场分析师的通用技能可以归为五块:业务与市场理解、调研与竞品分析、用户与渠道数据分析、指标与分析表达、工具操作。它们不是 ...
2026-10-23市场分析师的核心技能,可以先用一个框架回答:懂业务与市场、能取数与处理数据、会指标与分析方法、能把洞察讲清楚。这四块是共 ...
2026-10-23市场策划不是“会写文案、能办活动”这么简单。它本质上是一个用创意和资源撬动业务结果的岗位:先理解市场和人群,再形成方案, ...
2026-10-23社群运营不是“拉群、发通知、维护气氛”这么简单。它真正要对的结果是:用户进得来、留得住、愿意互动、最终产生转化或复购。因 ...
2026-10-23营销人的能力提升计划,最容易做成一张课程清单:报名几门课、读完几本书、考一个证,年底回头看,工作方式却没变。问题不在努力 ...
2026-10-23人力资源专员的职场价值,不由“做了多少事”决定,而由“解决什么问题、留下什么成果”决定。同样做招聘、算考勤、办入离职,有 ...
2026-10-23产品经理的职场价值,不主要由会画原型、会写文档决定,而由能否用业务结果证明自己的判断与推动决定。同一岗位的人价值差距大, ...
2026-10-23运营专员的能力提升,最容易走偏成两件事:一是把市面上所有工具都学一遍,二是把沟通、协作这类通用能力当成唯一答案。更有效的 ...
2026-10-23市场总监的沟通与管理,难点通常不在话术,而在三件事能否同时成立:向上用结论和数据对齐目标,平级用共同指标换取协同,向下用 ...
2026-10-23市场分析师的沟通失分,往往不是“嘴笨”,而是三件事没做好:结论没提炼出来、指标口径没对齐、建议没有落到决策上。所以提升沟 ...
2026-10-23社群运营做久了,很容易陷入一种忙碌:每天在群里发内容、回消息、做活动,热闹的时候很热闹,可一到月底复盘,说不清哪些动作带 ...
2026-10-23品牌运营的技能提升,最容易走偏的一步是先报课、先学工具。更有效的顺序是:先沿“品牌定位与策略—内容与传播—渠道与活动执行 ...
2026-10-23营销人员想赢得客户信任,单靠话术和关系维护越来越不够。客户在签约前会追问:你懂我的业务吗?方案里的数字怎么来的?承诺的效 ...
2026-10-23APP运营专员的能力提升,容易陷入两种误区:一是把“会用工具”当成能力全部,学了一堆Excel函数和SQL语法,回到岗位仍说不清一 ...
2026-10-23社群运营的沟通难点,不在于“会不会说话”,而在于同一件事要对三类人说清楚:对用户要安抚情绪、给出确定答复;对产品、活动、 ...
2026-10-23