7
votes

R recode variable - Incomplet InComplete_String

J'essaie de recoder une variable de facteur dans R et d'utiliser le code suivant: xxx pré>

et obtenez le message d'erreur suivant: p>

Error in parse(text = range[[1]][1]) : <text>:1:1: unexpected INCOMPLETE_STRING 1: '4 - Moderately complex


0 commentaires

3 Réponses :


2
votes

Recode semble interpréter le suivant: comme représentant une plage de valeurs, même si elle est à l'intérieur d'une chaîne, et la: est interprétée de manière prématurée de la chaîne. Par exemple: xxx

mais xxx

Dans tous les exemples que j'ai essayé la chaîne se termine à la:, provoquant une erreur.


1 commentaires

Ce n'est pas une solution, je pense. )



5
votes

C'est en fait à cause du ":" dans vos descriptions. Cette fonction utilise certains evile evan et strpsplit des déclarations au travail. Il finit par diviser dans ":" Parce que c'est un code spécial dans leur syntaxe et il semble y avoir aucun moyen de s'échapper.

Mais je suppose Napier $ a_spatialconnectivité est un facteur avec ceux-ci des niveaux donnés? Vous pouvez recode la variable en définissant explicitement les niveaux dans le facteur facteur () appel. xxx

qui commandera les niveaux 1: 5 qui arrive juste être comme ça que vous avez essayé de les recoder quand même.


4 commentaires

J'ai suivi votre méthode, toutes les valeurs sont devenues na ... Êtes-vous sûr que votre méthode fonctionne?


Oui, je suis sûr. Si vous définissez Napier <-data.frame (a_spatialconnectivity = échantillon (myllevels, 20, remplaçable = t)) Après avoir défini mylevels , le code exécutera et produit des valeurs numériques , pas na.


Je pense qu'il y a quelque chose qui ne va pas dans votre code. Si vous utilisez Napier <- , le résultat est Napier n'aura qu'une colonne . Dans mon cas, c'est salaire $ adulte $ . Selon votre méthode, myllevels <-c ("<= 50k", "> 50k") data.frame (salaire = échantillon (myllevels, 938, remplacer = t)) , ce code génère un data.frame avec la ligne 938 et les données internes sont toujours "<= 50k", "> 50k", pas 1 et 2 et cela n'a rien à voir avec le Données originales dans Salaire $ adulte $ . Je travaille sur cela pendant plus d'une heure.


Je ne comprends pas ce que tu fais. La réponse que j'ai fournie ne modifie pas la trame de données d'origine. Si vous rencontrez des problèmes, vous devriez peut-être ouvrir votre propre question et inclure un exemple reproductible. Essayer de répondre à de nouvelles questions dans des commentaires est difficile.



1
votes

Quiconque est dans une position similaire mais travaillant avec des chaînes au lieu de facteurs devrait pouvoir utiliser gsub code> pour supprimer le côlon des données.

napier_captureComplexityy <- gsub(":","",napier$a_SpatialConnectivity)


0 commentaires