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"
>