看板 R_Language 關於我們 聯絡資訊
- 問題: 當你想要問問題時,請使用這個類別。 建議先到 http://tinyurl.com/mnerchs 搜尋本板舊文。 [問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 如題: 如果給任合一個多重運算子複雜的公式,我想要把所有的變數名稱(不要數字)變成一個list,透過strsplit的話 [程式範例]: test <- "x + b + (c2 -(d3 + wo22^0.2/123*3))" 輸出: x b c2 d3 wo22 因為strsplit用regular expression不太會用那麼複雜的寫法 想在這裡問一下怎麼拆掉這些運算符號 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.51.171.216 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1544673627.A.D09.html ※ 編輯: yaowei2010 (123.51.171.216), 12/13/2018 12:01:26
andrew43: 沒看懂。你期望得到的結果是? 12/13 13:17
cywhale: try https://pastebin.com/vXcK7NvF 12/13 16:06
yaowei2010: 感謝樓上!! 12/14 10:24
andrew43: 謝樓上,我看懂了。 12/14 10:36
celestialgod: 這樣比較簡單: https://pastebin.com/uiNKgGEa 12/14 20:35
celestialgod: 轉成formula用all.vars取出來 12/14 20:35
cywhale: 好招耶,感謝分享,不知此function~~ 12/14 20:49
andrew43: 我猜測原po的數學式子不一定是R formula,用formula物件 12/14 20:49
andrew43: 可能會和預期有所不同。 12/14 20:50
celestialgod: 只要原PO不出現R不認得的數學運算子 12/14 20:51
celestialgod: 就不會有問題 12/14 20:51
celestialgod: 這個還是要端看原PO的數學式子複雜度為何 12/14 20:51
andrew43: 嗯嗯是 12/14 20:53
andrew43: 至少用R formula預到exp()sqrt()之類的還能自動避開, 12/14 21:05
andrew43: 用grep就還要額外處理。 12/14 21:06