Разобрать строку символов в списке в R - PullRequest
0 голосов
/ 22 февраля 2019

Я хотел бы проанализировать строку символов, например

s <- "I(log(x1)+myfunc(x2,1:3))"

, в список, подобный

list(I = list( log = "x1",
               "+",
               myfunc = list("x2", "1:3")
              )
    )

, т. Е.

$I
$I$log
[1] "x1"

$I[[2]]
[1] "+"

$I$myfunc
$I$myfunc[[1]]
[1] "x2"

$I$myfunc[[2]]
[1] "1:3"

Как можно написатьфункция для этого преобразования?Любые ресурсы будут высоко оценены.

Редактировать

Во-вторых, у меня иногда есть что-то вроде "I(log(x1)+log(x2))", в этом случае "log" не может бытьимя для двоих.Когда этого не происходит, возможно, отправной точкой является strsplit, сохраняющий разделители.

tokens <- strsplit(x,'(?=[\\(\\),\\+\\-\\*/(\\s+)])', perl = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...