Re: [問題] eval 使用問題

看板R_Language作者 (討厭有好心推文後刪文者)時間9年前 (2015/02/06 06:09), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串2/2 (看更多)
你的問題大概可以分成二個階段。 1. 在 R 中的字串合併常用 paste() 或它的子集 paste0() 來做。 2. 在 R 中的 eval 不像 matlab 那麼直接, 而是要靠 eval(parse(text = 字串)) 來進行。 所以你研究一下以下 R code。 run <- c("net", "fsns", "flns") for(i in run) { txt <- paste0(i, "Var_sum1=sum(", i, "_people)") cat(txt, "\n") # 看看字串對不對 eval(parse(text = txt)) # 針對 txt 做 eval。 } ※ 引述《Tolkien (怪獸)》之銘言: : [問題類型]: : : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : : [軟體熟悉度]: : 請把以下不需要的部份刪除 : 新手(matlab background) : : [問題敘述]: : 字串變變數 : [程式範例]: : 在matlab 字串矩陣要寫入迴圈中我會用: : run = { 'net' 'fsns' 'flns' } : for in=1:3 : eval(['' run{in} 'Var_sum1=sum(' run{in} '_people']) : endif : 這個代表我執行 : netVar_sum1 =sum (net_people) : fsnsVar_sum1 =sum (fsns_people) : flsnVar_sum1 =sum (flns_people) : 請問在R 要如何把字串矩陣寫入迴圈 : 我的Code: : run=c('net,'fsns','flns') : for(i in 1:3){ : ???????????? : } : 但還是不行 : 請高手幫幫忙 謝謝 -- http://apansharing.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.85.122 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1423174145.A.D26.html

02/06 06:29, , 1F
謝謝
02/06 06:29, 1F

02/06 06:32, , 2F
一直聽說R 像 matlab,所以像說寫在一行就可以了。
02/06 06:32, 2F
文章代碼(AID): #1Kq-e1qc (R_Language)
討論串 (同標題文章)
文章代碼(AID): #1Kq-e1qc (R_Language)