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

作者: sinasass (廣廣)   2014-01-05 00:20:35
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
使用者(已經有用R 做過不少作品)
[問題敘述]:
各位大大好,假如我製作的一個函數,有沒有指令可以回傳在這個函數裡面我設定的變數名稱呢??
[程式範例]:
rrr=function(num){
sum=0
sum=sum+num
return(sum)
}
不知道有沒有指令或方法可以回傳出"sum"字串呢?
謝謝大家。
作者: celestialgod (天)   2014-01-05 00:32:00
你可以告訴我要做什麼嗎...基本上很少人這樣用吧...你要的話就return("sum")吧...
作者: Wush978 (拒看低質媒體)   2014-01-05 12:42:00
return( list(sum=sum) )然後你可以用names來提取"sum"
作者: sinasass (廣廣)   2014-01-05 14:09:00
因為小弟在做決策樹的相關模擬,使用外call GUIDE程式在結果中只能生成預測的R程式碼,我想要從中擷取第一個重要切割變數,必須從生成R程式碼中的函數截取區域變數。
作者: gsuper (Logit(odds))   2014-01-05 17:01:00
你知道全域變數嗎? 試試 s<-1 ; function(s){x <<- s+s}fx <- function(s){x <<- s+s};fx(1);這樣就不用寫returnx 變數就會在變數空間出現不過平行運算與S3 level 以上的function不適用
作者: Wush978 (拒看低質媒體)   2014-01-05 19:06:00
平行運算是指Rmpi嗎?
作者: gsuper (Logit(odds))   2014-01-06 11:35:00
就是 snow 那個 package只要寫全域變數就不能 run Rapply() Capply()之前為了找出這個原因浪費了不少時間S3不適用好像講錯了但我印象把 function 包成 S3 的目的就是為了不影響現有的變數空間的變數
作者: Wush978 (拒看低質媒體)   2014-01-07 18:28:00
平行運算想用全域變數請用pbdMPI

Links booklink

Contact Us: admin [ a t ] ucptt.com