2016-09-14 1 views
1

J'ai un script dans R qui retourne un et je peux imprimer le résultat commeComment programmer l'ordinateur pour parler mettre fort en R

print(a) 

Au lieu de impression() Je voudrais quelque chose comme "speak()". Alors que l'ordinateur utilise sa "voix interne" et dit ce que la variable est à haute voix.

Est-ce encore possible dans R?

(j'utilise OSX)

(Par exemple, cette "voix" peut être entendu dans Mac OS X lors du choix d'un morceau de texte -> clic droit sur -> speach -> commencer parler.)

+3

Je n'ai pas un mac mais ne pouvais pas vous venez de construire la chaîne que vous voulez lire et passer à « dire » via un appel système? – Dason

+0

Merci, ça marche super: D @Dason https://stat.ethz.ch/R-manual/R-devel/library/base/html/system.html – SalamEkshi

+1

Content de l'entendre! Pourquoi ne rédigez-vous pas votre solution et ne l'affichez pas comme une réponse pour que les personnes ayant la même question aient plus de facilité à trouver la réponse? Faites-le pour les futurs demandeurs de réponse (gardez à l'esprit que cela pourrait être vous - j'ai eu des moments où j'ai fini par trouver la réponse à ma question ici et il était d'une réponse que j'avais écrite il y a des années). – Dason

Répondre

0

problème résolu!

Comme @Dason a souligné, il est possible de faire un appel système au sein de R à l'aide system() et dire comme commande.

La commande dans system() doit être une chaîne complète commençant par "say" et les chaînes peuvent être assemblées en utilisant sprintf().

Exemple:

a <- 2+5 
b <- sprintf("say The result is %d", a) 
system(b, intern = FALSE, ignore.stdout = FALSE, ignore.stderr = 
    FALSE, wait = TRUE, input = NULL)