[問題] 變數很多時存取問題

看板R_Language作者 (MING)時間10年前 (2014/08/08 15:49), 編輯推噓2(2033)
留言35則, 5人參與, 最新討論串1/1
請問 我現在有 F1, F2, F3, ..., F50000 個物件 我想用A=list(F1, F2, F3, ..., F50000)但我不可能50000筆一筆一筆輸入 但因為他是變數名稱,我沒辦法用 for(i in 1:50000) 之類的方式 不知道有沒有其他方法可以使用 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.114.16 ※ 文章網址: http://www.ptt.cc/bbs/R_Language/M.1407484164.A.D5D.html

08/08 15:51, , 1F
BTW 我現在每一個F的物件其實是ecdf(rnorm(100000)) 類
08/08 15:51, 1F

08/08 15:51, , 2F
似這樣子,謝謝!
08/08 15:51, 2F

08/08 16:56, , 3F
assign
08/08 16:56, 3F

08/08 20:37, , 4F
eval(parse(text = paste0("A = ",
08/08 20:37, 4F

08/08 20:37, , 5F
paste0('list(', paste0("F", 1:1000,
08/08 20:37, 5F

08/08 20:38, , 6F
collapse = ","), ')'))))
08/08 20:38, 6F

08/08 20:40, , 7F
或是下面的方法也可以
08/08 20:40, 7F

08/08 20:40, , 8F
A=lapply(1:1000, function(i) get(paste0("F", i)))
08/08 20:40, 8F

08/08 20:40, , 9F
50000
08/08 20:40, 9F

08/08 23:01, , 10F
assign好像只能取變數名稱 沒辦法把它弄進一個 list 中
08/08 23:01, 10F

08/08 23:02, , 11F
因為我是想存成一個list 或什麼的 最後save成.rda檔
08/08 23:02, 11F

08/08 23:03, , 12F
最後那個方法有點厲害!!! 我正在專研中!
08/08 23:03, 12F

08/08 23:04, , 13F
想再請教各位一下,請問ecdf這種東西算是什麼樣的資料
08/08 23:04, 13F

08/08 23:04, , 14F
型態呢?或著說應該怎麼樣存大量的ecdf比較妥當?thx
08/08 23:04, 14F

08/09 00:59, , 15F
ecdf就向量而已吧,怎麼存端看你怎麼使用吧
08/09 00:59, 15F

08/09 01:21, , 16F
ecdf好像不是向量耶 我用str查他裡面好像不只有存數字
08/09 01:21, 16F

08/09 01:38, , 17F
我看一下
08/09 01:38, 17F

08/09 01:42, , 18F
這個型態,我不太清楚QQ,可能要請教其他高手
08/09 01:42, 18F

08/09 01:42, , 19F
我是覺得list 滿好用的XD
08/09 01:42, 19F

08/09 01:48, , 20F
try: A = mget(paste0("F", 1:50000))
08/09 01:48, 20F

08/09 23:46, , 21F
我在想要怎麼存才有辦法最省空間或最有效率, 因為資料
08/09 23:46, 21F

08/09 23:47, , 22F
量有點大 一存下來電腦都跑不太動了(大概5萬個data fit
08/09 23:47, 22F

08/09 23:48, , 23F
一個 ecdf 然後我有五萬個ecdf QQ
08/09 23:48, 23F

08/10 10:41, , 24F
mget這招也好強大!!
08/10 10:41, 24F

08/10 19:12, , 25F
可以考慮把算出來的東西用saveRDS存到硬碟
08/10 19:12, 25F

08/10 20:33, , 26F
好問題 變術處理真的是非常非常非常討厭
08/10 20:33, 26F

08/10 20:36, , 27F
key point 在於用程式寫程式 , 再用 parser 處理
08/10 20:36, 27F

08/11 13:19, , 28F
大量data存取真滿麻煩的 ..有2.5*10^9 個浮點數要存..
08/11 13:19, 28F

08/11 18:35, , 29F
in ecdf of help
08/11 18:35, 29F

08/11 18:35, , 30F
x <- rnorm(12)
08/11 18:35, 30F

08/11 18:36, , 31F
Fn <- ecdf(x)
08/11 18:36, 31F

08/11 18:36, , 32F
Fn # a *function*
08/11 18:36, 32F

08/11 18:36, , 33F
Fn(x) # returns the percentiles for x
08/11 18:36, 33F

08/11 18:41, , 34F
?ecdf # get more info.
08/11 18:41, 34F

08/17 02:49, , 35F
謝謝大家的協助!!!
08/17 02:49, 35F
文章代碼(AID): #1Jv844rT (R_Language)
文章代碼(AID): #1Jv844rT (R_Language)