J'essaie d'entrer pour créer un programme R qui acceptera plusieurs entrées des utilisateurs séparés par l'espace. Pour Python, j'utilisais la fonction scission mais je ne connais aucune fonction équivalente pour r.

while (i<=n){
 cf[i]=as.double(readline(prompt='Enter cashflow:'))
 p[i]=as.double(readline(prompt='Enter corresponding probability:'))
 e[i]=cf[i]*p[i]
 cat('\014')
 i=i+1

}

Actuellement, j'utilise les boucles mais le processus de frappe est fastidieux.

r
1
Devvrat Chaubal 4 mai 2021 à 09:32

1 réponse

Meilleure réponse

Vous pouvez utiliser strsplit pour diviser chaîne et as.numeric pour convertir en chiffres.

# read input, value is stored as a string
cf = readline(prompt='Enter cashflow:')
pr = readline(prompt='Enter corresponding probability:')

# split on ' ', unlist list-of-list, then convert to numeric
cf = as.numeric(unlist(strsplit(cf, ' ')))
pr = as.numeric(unlist(strsplit(pr, ' ')))

e = cf*pr
3
imdevskp 4 mai 2021 à 07:07