Slik pakker du ut deler av strengen ved hjelp av R og plassere dem i forskjellige kolonner

stemmer
-1

Jeg har en kolonne med tekst som jeg ønsker å trekke ut deler av informasjonen og plassere dem i en ny kolonne.

Eksempel:

Text-1 <- issue : there has been considerable changes and it is going on. finding : we need further investigation on this. resolution: please check the validity

Text-2 <- issue : there has been considerable changes and it is going on. resolution: please check the validity

Text-3 <- finding : we need further investigation on this. resolution: please check the validity

Text-4 <- please check the validity

Løsningen som jeg leter etter er når vi bruker R vanlige uttrykket ønsket resultat skal være like nedenfor. Teksten er delt inn i 3 forskjellige kolonner på grunnlag av dens nærvær.

Tekst-en

issue <- there has been considerable changes and it is going on 

finding <- we need further investigation on this

resolution <- please check the validity

Tekst-2

issue <- there has been considerable changes and it is going on

finding <- NA

resolution <- please check the validity

Tekst-3

issue <- NA

finding <- we need further investigation on this

resolution <- please check the validity

Tekst-4

issue <- NA

finding <- NA

resolution <- please check the validity

Vennligst hjelp

Publisert på 09/10/2019 klokken 13:01
kilden bruker
På andre språk...                            


1 svar

stemmer
0

Du kan bruke pakken unglue :

library(unglue)
text <- c(
  "issue : there has been considerable changes and it is going on. finding : we need further investigation on this. resolution: please check the validity",
  "issue : there has been considerable changes and it is going on. resolution: please check the validity",
  "finding : we need further investigation on this. resolution: please check the validity",
  "please check the validity")

patterns <- c("issue : {issue}. finding : {finding}. resolution: {resolution}",
              "issue : {issue}. resolution: {resolution}",
              "finding : {finding}. resolution: {resolution}")

unglue_data(text, patterns)
#>                                                    issue
#> 1 there has been considerable changes and it is going on
#> 2 there has been considerable changes and it is going on
#> 3                                                   <NA>
#> 4                                                   <NA>
#>                                 finding                resolution
#> 1 we need further investigation on this please check the validity
#> 2                                  <NA> please check the validity
#> 3 we need further investigation on this please check the validity
#> 4                                  <NA>                      <NA>

Laget på 2019-10-09 av reprex pakke (v0.3.0)

Det vil ikke være til stor hjelp hvis ditt virkelige saken har mange flere kombinasjoner enn dette eksempelet, men i dette tilfellet virker det ok, vi gir de 3 mulige mønstre i en vektor og den første arbeidsmønster er brukt, er resultatene gitt i en dataramme med en søyle for hver ekstrahert variabel.

Slik starter du fra en dataramme og legge til kolonner, bruke unglue_unnest(your_df, your_col, patterns)og sette remove = FALSEhvis du vil beholde den opprinnelige kolonnen.

Svarte 09/10/2019 kl. 14:46
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more