将xts拆分为由零分隔的间隔?

时间:2015-11-24 17:33:51

标签: r xts

假设我有下一个值的数字xts:

111 00 111 -1-1-1 000 11

如何在零之间提取间隔,因此输出是具有适当索引的另外三个xts对象:

xts1:111

xts2:111-1-1-1

xts3:11

1 个答案:

答案 0 :(得分:2)

你可以这样做。首先,我们使用gsub删除空格。最后,我们使用字符0后跟元字符+来分割字符向量的元素,所以如果0匹配则匹配一次或多次。

x <- c("111 00 111 -1-1-1 000 11")
x <- gsub(" ", "", x , fixed = TRUE)
x <- unlist(strsplit(x, split="0+"))
x

输出:

[1] "111"       "111-1-1-1" "11"