La costruzione di base è
paste("on the ", counter, "rd count: ", k, sep="")
dovrete essere un po 'intelligente per scegliere il suffisso giusto per la cifra (vale a dire " rd" dopo 3, "th" dopo 4-9, ecc Ecco una funzione per farlo:
suffixSelector <- function(x) {
if (x%%10==1) {
suffixSelector <- "st"
} else if(x%%10==2) {
suffixSelector <- "nd"
} else if(x%%10==3) {
suffixSelector <- "rd"
} else {
suffixSelector <- "th"
}
}
Così:
suffix <- suffixSelector(counter)
paste("on the ", counter, suffix, " count: ", k, sep="")
È necessario impostare l'argomento sep
poiché per impostazione predefinita paste
inserisce uno spazio vuoto tra le stringhe.
fonte
2012-10-23 18:19:08
nice 'suffixSelector' +1 –
Non funziona molto bene con 13, ad esempio ... Questo è un po 'più complicato di quanto sembri! (Inoltre, è necessario assicurarsi che il codice postato restituisca effettivamente il suffisso "selettore"!) –
la funzione Incolla può essere inserita nel ciclo while? Perché non so perché niente viene stampato quando la pasta è nel ciclo while ??? – user1769197