函数 strsplit 用于按照指定的字符把长的字符串分割成短的子字符串,
strsplit(x, split, fixed = FALSE)
参数split是用于分割字符串,
当参数fixed为TRUE时,表示字符串完全匹配split分隔符;
当fixed参数为FALSE时,表示参数split是包含正则表达式的字符,使用正则匹配。
##一个小测试
test <-"aa bb cc dd ee ff"
>class(test) ## 测试数据为字符
[1]"character"
a<- strsplit(test,split ="") ##制动分隔符为空格进行拆分数据
> a
[[1]]
[1]"aa""bb""cc""dd""ee""ff"
>class(a) ## 分割后的数据类型为列表
[1]"list"
########指定结果输出为向量unlist
b <- unlist(strsplit(test,split =",")) ## 加unlist函数
strsplit(test,split ="") ## 分隔符设为空,则拆分每一个字符
#######分割后的数据类型为列表,如果使用split =".",split ="\s",split ="\t"进行拆分,需要使用fixed= T
strsplit(test,split ="\\s",fixed= T) ##设置fixed = T,正常拆分,参数作用为精确匹配,屏蔽正则表达式
##############一个小测试,strsplit与sapply结合
Student <- c("John Davis", "Angela Williams", "Bullwinkle Moose",
"David Jones", "Janice Markhammer", "Cheryl Cushing",
"Reuven Ytzrhak", "Greg Knox", "Joel England",
"Mary Rayburn")
name <- strsplit(Student, " ")
Lastname <- sapply(name, "[", 2)
Lastname <- sapply(name, "[", 2)
Firstname <- sapply(name, "[", 1)
roster <- cbind(Firstname,Lastname, roster[,-1])
网友评论