函數(shù)?strsplit?用于按照指定的字符把長的字符串分割成短的子字符串,
strsplit(x, split, fixed = FALSE)
參數(shù)split是用于分割字符串乒躺,
當(dāng)參數(shù)fixed為TRUE時,表示字符串完全匹配split分隔符;
當(dāng)fixed參數(shù)為FALSE時,表示參數(shù)split是包含正則表達式的字符,使用正則匹配久脯。
?##一個小測試
?test <-"aa bb cc dd ee ff"
>class(test)? ## 測試數(shù)據(jù)為字符
[1]"character"
a<- strsplit(test,split ="") ##制動分隔符為空格進行拆分數(shù)據(jù)
> a
[[1]]
[1]"aa""bb""cc""dd""ee""ff"
>class(a)? ## 分割后的數(shù)據(jù)類型為列表
[1]"list"
########指定結(jié)果輸出為向量unlist
b <- unlist(strsplit(test,split =",")) ## 加unlist函數(shù)
strsplit(test,split ="") ## 分隔符設(shè)為空摧找,則拆分每一個字符
#######分割后的數(shù)據(jù)類型為列表,如果使用split =".",split ="\s"综苔,split ="\t"進行拆分,需要使用fixed= T
strsplit(test,split ="\\s",fixed= T) ##設(shè)置fixed = T,正常拆分抒抬,參數(shù)作用為精確匹配擦剑,屏蔽正則表達式
##############一個小測試浇借,strsplit與sapply結(jié)合
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])