Существует ли функция R, эквивалентная функции разделения Python()?

#r

Вопрос:

Я пытаюсь войти, чтобы создать программу R, которая будет принимать несколько входов от пользователей, разделенных пробелом. Для python я использовал функцию разделения, но я не знаю никакой эквивалентной функции для 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('14')
 i=i 1
 

}

В настоящее время я использую циклы, но процесс набора текста утомителен.

Комментарии:

1. Вы смотрели на ?str_split

Ответ №1:

Вы можете использовать strsplit для разделения строк и as.numeric преобразования в числа

 # 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
 

Комментарии:

1. Снимите список перед преобразованием , тогда нам не понадобится lapply: c = as.numeric(unlist(strsplit(c, ' '))) , кроме того, избегайте имен функций в качестве переменных: c

2. @zx8754 Спасибо. Это эффективнее и лучше. Я обновил код.