Получение уникального количества из структурированных текстовых данных - PullRequest
0 голосов
/ 25 февраля 2019

Мне интересно, как получить уникальное количество символов из текстовой строки из структурированного набора данных.Это дополнительный вопрос к моему предыдущему посту.Я хотел бы получить уникальное количество яблок (закодировано как приложение), бананов (закодировано как бан), ананасов (закодировано как пин-код), винограда (закодировано как Grp)

    text<- c('AppPinAppBan', 'AppPinOra', 'AppPinGrpLonNYC')
    df<- data.frame(text)

   library(stringr)
   df$fruituniquecount<- str_count(df$A, "App|Ban|Pin|Grp")

   ## I am expecting output as follows:

      text           fruituniquecount
     AppPinAppBan     3
     AppPinOra        2
     AppPinGrpLonNYC  3

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Следуя той же идее, что и принятый ответ на ваш предыдущий вопрос, вы можете сделать,

library(stringr)

sapply(str_extract_all(df$text, "App|Ban|Pin|Grp"), function(i)length(unique(i)))
#[1]3 2 3
0 голосов
/ 25 февраля 2019

Может быть, это можно сделать с помощью базы R, нет необходимости во внешних пакетах.

m <- gregexpr("App|Ban|Pin|Grp", df$text)
df$fruituniquecount <- lengths(lapply(regmatches(df$text, m), unique))

df
#             text fruituniquecount
#1    AppPinAppBan                3
#2       AppPinOra                2
#3 AppPinGrpLonNYC                3
...