Comment concaténer des chaînes et une production évaluée à partir d'une fonction dans R?
En gros, j'ai la suite de dire:
counter <- 3
k <- 9999
Je voudrais obtenir un R pour imprimer le suivant:
on the 3rd count: 9999
Personne ne quelle commande dois-je utiliser pour ce faire? Veuillez préciser pour moi ,car je suis totalement nouveau dans R.
OriginalL'auteur user1769197 | 2012-10-23
Vous devez vous connecter pour publier un commentaire.
La construction de base est
Vous aurez besoin d'être un peu intelligent de choisir le bon suffixe pour les chiffres (c'est à dire "rd" après 3, "th" après 4-9, etc. Voici une fonction pour le faire:
}
Ainsi:
Vous devez définir la
sep
argument parce que, par défautpaste
insère un espace entre les cordes.suffixSelector
+1Ne fonctionne pas trop bien avec 13, par exemple... C'est un peu plus compliqué que ça en a l'air! (Aussi, vous devez vous assurer que votre posté code renvoie en fait choisi
suffixSelector
!)pouvez la fonction coller être mis dans la boucle while ? Parce que je ne sais pas pourquoi rien n'est imprimé lorsque la pâte truc est dans la boucle while ???
Dépend... pouvez-vous coller votre boucle, afin que nous puissions voir le code complet?
Ne vous inquiétez pas. J'ai été stupide. Je pensais que la fonction coller inclut la fonction d'impression. Apparemment, il ne concatène, mais ne pas imprimer. Alors, je dois faire imprimer(coller(......)). Merci pour votre aide
OriginalL'auteur Drew Steen
Voici une approche légèrement différente pour accrocher chaque entier avec le suffixe approprié. Si vous chercher en dehors de vous, vous verrez qu'il ne capture la syntaxe(?) la règle pour la construction de la forme ordinale de tout entier.
Une note explicative: La
10*(((x %% 100) %/% 10) == 1)
bits est nécessaire pour choisir les numéros qui se termine dans 10 à 19 (11, 12, et 13 sont les vrais mauvais acteurs ici) l'envoi de tous les éléments desuffix
contenant"th"
.OriginalL'auteur Josh O'Brien
Utilisation
sprintf
OriginalL'auteur GSee