Contexte
En raison d'un bug in Renjin, la famille format
des fonctions ne sont pas disponibles, mais sprintf
œuvres.un numéro comme une chaîne délimitée par des virgules
code
est ici une fonction de remplacement qui convertit un nombre en une chaîne délimitée par des virgules:
commas <- function(n) {
s <- sprintf("%03.0f", n %% 1000)
n <- n %/% 1000
while(n > 0) {
s <- concat(sprintf("%03.0f", n %% 1000), ',', s)
n <- n %/% 1000
}
gsub('^0*', '', s)
}
Question
Alors que le code fait le travail, comment la mise en œuvre peut être accéléré en haut? C'est-à-dire, comment le code peut-il être écrit de manière à utiliser R vernaculaire (sans en utilisant format
, formatC
, prettyNum
, et similaire) et sans rompre Renjin packages (c'est-à-dire sans dépendances)?
'str_replace_all' est également cassé dans Renjin. Voir: http://packages.renjin.org/package/org.renjin.cran/stringr/1.2.0/build/18#test-str_replace-examples –
@DaveJarvis Je ne suis pas familier avec 'stringr' étant cassé. Ma réponse de base est d'utiliser une regex. Si cela ne répond pas à vos attentes, vous pouvez essayer autre chose. –