R问题-试图使用非恒定分隔符分割数据

问题描述 投票:0回答:1

其中一个变量是参与者的年龄组,下面是其中一个记录的示例,

0::Adult 18+||1:: Adult 18+||2::Adult 18+||3::Child 0-11

您如何最好地将其拆分为成人18 +,结果为3,儿童0-11,结果为1?

我尝试使用单独的分隔符,但是由于分隔符不是常量,因此省略了很多记录。任何建议都会有所帮助,谢谢!因为这是我的第一篇文章,所以让我知道是否需要添加更多信息。

r delimiter tidyr
1个回答
0
投票

这里是一种方式:

library(magrittr)

vals <- "0::Adult 18+||1:: Adult 18+||2::Adult 18+||3::Child 0-11"
strsplit(gsub("[^[:alpha:][:space:]]","", vals), "\\s+") %>% as.data.frame() %>% table()

Adult Child 
    3     1 
© www.soinside.com 2019 - 2024. All rights reserved.