2017-09-22 2 views

Répondre

0
S <- "s/O sk hungu 101/90 MODEL HOUSE TALAB GAGNI SHUKUL LUCKNOW UTTAR PRADESH LUCKNOW UTTAR PRADESH 226001" 

Je recommande de faire tous les possibles chaînes de Nx où N est la longueur de votre chaîne et x est longueur variable

allchr <- unlist(strsplit(S, "")) 
listsubstr <- sapply(1:length(allchr), function(I) paste0(allchr[I:length(allchr)], collapse="")) 

    # [1] "s/O sk hungu 101/90 MODEL HOUSE TALAB GAGNI SHUKUL LUCKNOW UTTAR PRADESH LUCKNOW UTTAR PRADESH 226001" 
    # [2] "/O sk hungu 101/90 MODEL HOUSE TALAB GAGNI SHUKUL LUCKNOW UTTAR PRADESH LUCKNOW UTTAR PRADESH 226001" 
    # [3] "/ O sk hungu 101/90 MODEL HOUSE TALAB GAGNI SHUKUL LUCKNOW UTTAR PRADESH LUCKNOW UTTAR PRADESH 226001" 
    # [4] " O sk hungu 101/90 MODEL HOUSE TALAB GAGNI SHUKUL LUCKNOW UTTAR PRADESH LUCKNOW UTTAR PRADESH 226001" 

Vous pouvez parcourir cette liste pour vérifier les géocodes valides. Je dois fournir un pseudocode car je ne suis pas sûr de savoir si une chaîne est un géocode valide.

sapply(listsubstr, function(I) is.geocode(I))  # contains pseudocode 

Vous pouvez également le faire avec la récursivité.

myfun <- function(x) { 
      if (x is gecode) { # contains pseudocode 
        return(x) 
      } else { 
        myfun(substr(x, 2, nchar(S))) 
      } 
     } 
+0

ce qui est myfun ici et comment puis-je appliquer cela à colonne entière dans l'ensemble de données que je suis en train quelque chose comme allchr <- unlist (lapply (StrSplit (permanent_address secondaire $ « »))) et je l'ai déjà avoir une boucle df = avec (secondary, laply (adresse_permanente, function (val) {geoCode (val)})) qui me donne le codage geo comment puis-je fixer une boucle dans une boucle pour obtenir des géolocalisations de toutes les adresses dans la colonne – vibhu

+0

Modifier votre publication d'origine avec votre format de données et plus de contraintes sur la solution que vous désirez. – CPak

+0

a modifié le message original – vibhu