看板 R_Language 關於我們 聯絡資訊
# 方法一 利用一個list來放這些變數。 以抽象功能來說, list很適合把字串map到R物件。 x <- list() for(i in 1:3) { name <- # 建立a1, a2, ... x[[name]] <- value # 賦值 } sum(unlist(x)) # 方法二 假設你已經用你上面寫的方法設定好a1, a2, a3, ... 你可以把「環境」當list用。(但是兩者還是不太一樣) retval <- 0 for(i in 1:3) { name <- # 建立如a1, a2的字串 retval <- retval + globalenv()[[name]] } 當然你可以繼續玩apply家族 或是用get之類的函數 但是這些都是透過「環境」來利用字串存取物件。 ※ 引述《ntme (one shot one kill)》之銘言: : [問題類型]: : : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : : [軟體熟悉度]: : 請把以下不需要的部份刪除 : 入門(寫過其他程式,只是對語法不熟悉) : : [問題敘述]: : 以用 for loop 產生連續的變數並命名,但不知道怎麼用 : for loop再利用產生的變數運算 : [程式範例]: : : #產生 a1 = 1, a2 = 2, a3 = 3 : for ( i in 1:3 ) { : var_name <- paste("a",i, sep="") : assign( var_name, i) : } : 請問如何寫for loop把 a1, a2, a3加起來 : -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.161.26.39 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1420994301.A.E98.html
ntme: 感謝Wush大大。globalenv()[[name]] 很實用! 01/12 01:37
andrew43: R的「環境」我一直掌握不好。其它語言也有這東西嗎? 01/12 17:11
Wush978: environment有點小複雜,有興趣的話我可以hangout上花 01/12 23:08
Wush978: 十分鐘解釋 01/12 23:08
andrew43: 謝謝。有機會的話你學學。 01/12 23:45
e002311: 太強了 01/13 19:47