Как получить число и хэштегом из кавычек, используя R? - PullRequest
0 голосов
/ 30 мая 2018
[1] <hashtag count="5" value="#starbucks"/>   


    Count   Hashtags
[1] 5       #starbucks

У меня есть столбец, состоящий из одного символа в скобках, как я могу выделить число и текст хэштега и разделить их на два столбца?

1 Ответ

0 голосов
/ 30 мая 2018

Кажется, это простой вопрос регулярных выражений:

library(stringr)
strings <- c('<hashtag count="5" value="#starbucks"/>',
             '<hashtag count="99" value="#peets coffee"/>')
str_match(strings, 'count=\\"(\\d+).*value=\\"#([^"]+)')[,2:3]

     [,1] [,2]          
[1,] "5"  "starbucks"   
[2,] "99" "peets coffee"

Если строка является data.frame, вам нужно apply функцию за строкой и выбрать правильный столбец для извлечения значенийот:

strings <- data.frame(str = c('<hashtag count="5" value="#starbucks"/>',
                              '<hashtag count="99" value="#peets coffee"/>'),
                      col2 = c(2,4))
apply(strings, 1, function(x) str_match(x['str'],
                                        'count=\\"(\\d+).*value=\\"#([^"]+)')[,2:3])
     [,1]        [,2]          
[1,] "5"         "99"          
[2,] "starbucks" "peets coffee"
...