LearningR-数据处理
发布时间:2021-03-15 05:27:42 所属栏目:大数据 来源:网络整理
导读:副标题#e# R自带函数 reshape2 data restructuring dplyr data aggregation tidyr 待整理 字符串处理 1. R自带函数 1.1 转置 使用函数t()可对一个矩阵或数据框进行转置,对于数据框,行名将变成变量(列)名。 cars - mtcars(1:5,1:4)carst(cars) 数列array
另外还有一个paste0函数,默认就是sep="" 5.3 分割字符 strsplitstrsplit(x,split,fixed = FALSE,perl = FALSE,useBytes = FALSE) x <- c(as = "asfef",qu = "qwerty","yuiop[","b","stuff.blah.yech") strsplit(x,"e") #需要注意的细节 strsplit(paste(c("","") strsplit(""," ")[[1]] strsplit(" "," ")[[1]] ##倒序运用: strReverse <- function(x) sapply(lapply(strsplit(x,NULL),rev),paste,collapse = "") strReverse(c("abc","Statistics")) 5.4 提取字符 substr与substringsubstr(x,start,stop) substring(text,first,last = 1000000L) substr(x,stop) <- value substring(text,last = 1000000L) <- value substr("abcdef",4) substring("abcdef",1:6,1:6) substr(rep("abcdef",4),1:4,4:5) x <- c("asfef","qwerty","stuff.blah.yech") substr(x,5) substring(x,4:6) substring(x,2) <- c("..","+++") 5.5 替换字符 sub和gsub
sub(pattern,replacement,x,ignore.case = FALSE,useBytes = FALSE) gsub(pattern,useBytes = FALSE) 虽然sub和gsub是用于字符串替换的函数,但严格地说R语言没有字符串替换的函数,因为R语言不管什么操作对参数都是传值不传址。所以原字符串并没有改变,要改变原变量我们只能通过再赋值的方式。 text <- "Hello Adam!nHello Ava!" sub(pattern="Adam",replacement="World",text) text sub(pattern="Adam|Ava",?replacement="World",?text) gsub(pattern="Adam|Ava",?replacement="world",?text) sub和gsub函数可以使用提取表达式(转义字符+数字)让部分变成全部 sub(pattern=".*(Adam).*",replacement="1",text) str <- "Now is the time " sub(" +$","",str) sub("[[:space:]]+$",str) sub("s+$",str,perl = TRUE) txt <- "a test of capitalizing" gsub("(w)(w*)","U1L2",txt,perl=TRUE) gsub("b(w)","U1",perl=TRUE) 5.6 字符查询匹配 grep
x <- c("abc","abcdef","def") grep("def",x) #grep返回匹配项的下标 #grepl返回所有查询结果的逻辑向量。两者的结果都可用于提取数据子集 grepl("def",x) regexpr、gregexpr和regexec 5.5 其他
rep(1:4,2) rep(1:4,each = 2) rep(1:4,2)) rep(1:4,1)) rep(1:4,each = 2,len = 4) rep(1:4,len = 10) rep(1:4,times = 3) 5.6 stringr包stringr包是用来处理字符串的。(先挖坑...) 附录A 正则表达式待整理 附录B(编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |