1. 程式人生 > 其它 >R語言中利用unlist、strsplit拆分提取資料

R語言中利用unlist、strsplit拆分提取資料

1、

## 測試資料
test <- c("200005: Smoker_1","200076: Smoker_2","200087: Smoker_3","200088: Smoker_4","200106: Smoker_5","200107: Non-smoker_6") test list1 <- strsplit(test, split = ":") ## 利用strsplit進行拆分, split 指定分隔符 list1 charac <- unlist(list1) ## 拆分列表 charac top <- charac[seq(1,length(list1),2)] ## 提取每個:前部分
top end
<- charac[seq(2,length(list1),2)] ## 後部分 end
> test <- c("200005: Smoker_1","200076: Smoker_2","200087: Smoker_3","200088: Smoker_4","200106: Smoker_5","200107: Non-smoker_6")
> test    ## 測試資料
[1] "200005: Smoker_1"     "200076: Smoker_2"     "200087: Smoker_3"     "200088: Smoker_4"     "200106: Smoker_5"     "
200107: Non-smoker_6" > list1 <- strsplit(test, split = ":") > list1 ## 檢視列表 [[1]] [1] "200005" " Smoker_1" [[2]] [1] "200076" " Smoker_2" [[3]] [1] "200087" " Smoker_3" [[4]] [1] "200088" " Smoker_4" [[5]] [1] "200106" " Smoker_5" [[6]] [1] "200107" " Non-smoker_6" > charac <- unlist(list1) ## 拆分為字串
> charac [1] "200005" " Smoker_1" "200076" " Smoker_2" "200087" " Smoker_3" "200088" " Smoker_4" "200106" [10] " Smoker_5" "200107" " Non-smoker_6" > top <- charac[seq(1,length(list1),2)] ## 提取:前部分 > top [1] "200005" "200076" "200087" > end <- charac[seq(2,length(list1),2)] ## 提取:後部分 > end [1] " Smoker_1" " Smoker_2" " Smoker_3" >