[問題] 想請問R有關函數的問題

看板R_Language作者 (廣廣)時間11年前 (2014/01/05 00:20), 編輯推噓2(2018)
留言20則, 4人參與, 最新討論串1/2 (看更多)
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 使用者(已經有用R 做過不少作品) [問題敘述]: 各位大大好,假如我製作的一個函數,有沒有指令可以回傳在這個函數裡面我設定的變數名稱呢?? [程式範例]: rrr=function(num){ sum=0 sum=sum+num return(sum) } 不知道有沒有指令或方法可以回傳出"sum"字串呢? 謝謝大家。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.27.107.1

01/05 00:32, , 1F
你可以告訴我要做什麼嗎...基本上很少人這樣用吧...
01/05 00:32, 1F

01/05 00:32, , 2F
你要的話就return("sum")吧...
01/05 00:32, 2F

01/05 12:42, , 3F
return( list(sum=sum) )
01/05 12:42, 3F

01/05 12:42, , 4F
然後你可以用names來提取"sum"
01/05 12:42, 4F

01/05 14:09, , 5F
因為小弟在做決策樹的相關模擬,使用外call GUIDE程式
01/05 14:09, 5F

01/05 14:11, , 6F
在結果中只能生成預測的R程式碼,我想要從中擷取第一個
01/05 14:11, 6F

01/05 14:12, , 7F
重要切割變數,必須從生成R程式碼中的函數截取區域變數。
01/05 14:12, 7F

01/05 17:01, , 8F
你知道全域變數嗎? 試試 s<-1 ; function(s){x <<- s+s}
01/05 17:01, 8F

01/05 17:02, , 9F
01/05 17:02, 9F

01/05 17:02, , 10F
fx <- function(s){x <<- s+s};fx(1);這樣就不用寫return
01/05 17:02, 10F

01/05 17:03, , 11F
x 變數就會在變數空間出現
01/05 17:03, 11F

01/05 17:04, , 12F
不過平行運算與S3 level 以上的function不適用
01/05 17:04, 12F

01/05 19:06, , 13F
平行運算是指Rmpi嗎?
01/05 19:06, 13F

01/06 11:35, , 14F
就是 snow 那個 package
01/06 11:35, 14F

01/06 11:35, , 15F
只要寫全域變數就不能 run Rapply() Capply()
01/06 11:35, 15F

01/06 11:36, , 16F
之前為了找出這個原因浪費了不少時間
01/06 11:36, 16F

01/06 11:36, , 17F
S3不適用好像講錯了
01/06 11:36, 17F

01/06 11:37, , 18F
但我印象把 function 包成 S3 的目的就是為了不影響現有的
01/06 11:37, 18F

01/06 11:37, , 19F
變數空間的變數
01/06 11:37, 19F

01/07 18:28, , 20F
平行運算想用全域變數請用pbdMPI
01/07 18:28, 20F
文章代碼(AID): #1Io3JMz8 (R_Language)
文章代碼(AID): #1Io3JMz8 (R_Language)