需要帮助查找函数来提取和获取由" - "
分隔的请求字符串的值数据:
x <- c("AA-AA/BB-11/CC-22/dd-1", "AA-AA/BB-33/CC-331")
所需的输出:
BB should get vector of (11, 33)
CC should get vector of (22, 331)
答案 0 :(得分:2)
您可以使用stringr执行任务:
library(stringr)
x <- c("AA-AA/BB-11/CC-22/dd-1", "AA-AA/BB-33/CC-331")
BB <- as.numeric(str_match(x, "/BB-([0-9]+)")[, 2])
CC <- as.numeric(str_match(x, "/CC-([0-9]+)")[, 2])
答案 1 :(得分:1)
你可以使用chartr
来改变你的分裂字符,然后将其输入read.table
:
tmp <- read.table(text=chartr("-/", " \n", x), stringsAsFactors=FALSE)
# V1 V2
#1 AA AA
#2 BB 11
#3 CC 22
#4 dd 1
#5 AA AA
#6 BB 33
#7 CC 331
如果您严格需要单独的矢量:
split(tmp$V2, tmp$V1)
#$AA
#[1] "AA" "AA"
#
#$BB
#[1] "11" "33"
#
#$CC
#[1] "22" "331"
#
#$dd
#[1] "1"