GAMS Transfer R于2022年8月**與GAMS主要版本一起發(fā)布,并已包含在所有后續(xù)的GAMS版本中。較近,我們將GAMS Transfer R開源并發(fā)布在CRAN上。在這篇文章中,將簡要概述GAMS Transfer R,它是什么,它旨在幫助誰,以及如何使用它。
什么是gamstransfer,我們?yōu)槭裁葱枰?/p>
雖然GAMS語法很強(qiáng)大,但它不是一種通用的編程語言。用戶可能較喜歡依賴他們的偏好語言來執(zhí)行任務(wù)不一定需要GAMS語言,例如來自各種數(shù)據(jù)源的數(shù)據(jù)處理I/O。對于使用R作為可以選擇語言的用戶來說,gamstransfer是一個(gè)能夠與GAMS進(jìn)行無縫數(shù)據(jù)交換的軟件包。它提供了面向?qū)ο蠛椭庇^的語法,用于讀取和寫入GDX文件,理解、分析和修改R中的GAMS數(shù)據(jù)。通過內(nèi)部C++功能調(diào)用,gamstransfer具有很高的性能,能夠?qū)⒋罅繑?shù)據(jù)傳輸?shù)紾AMS,而不是處理單個(gè)符號的記錄。
如何安裝gamstransfer?
gamstransfer在CRAN上可用,可以通過R控制臺中的單個(gè)命令安裝:
install.packages("gamstransfer")
設(shè)計(jì)理念
gamstransfer與transfer家族中的其他產(chǎn)品(如transfer Python和transfer Matlab)的理念相一致。其**思想是使用一個(gè)Container來封裝所有數(shù)據(jù)。Container具有狀態(tài)感知能力,維護(hù)符號之間的鏈接(例如域鏈接),并支持跨多個(gè)符號的分析和操作。讀寫操作通過容器方法進(jìn)行read和write。
示例說明
讀取GDX文件gams_data.GDX只需要一次power調(diào)用。以下是從GAMS模型庫讀取運(yùn)輸模型數(shù)據(jù)的示例。
library(gamstransfer)
m = Container$new("trnsport.gdx")
為了從這些數(shù)據(jù)中訪問包含距離的參數(shù),可以執(zhí)行m[“d”]。要訪問記錄,可以使用m[“d”]$記錄。目前,符號記錄以R數(shù)據(jù)幀格式存儲。
假設(shè)數(shù)據(jù)是R格式的(來自Excel、SQL等任何來源),將其寫入GDX文件很*,如下例所示。在這里,我們再次使用運(yùn)輸模型的數(shù)據(jù)。執(zhí)行此操作的步驟如下:
1. 創(chuàng)建容器
2. 向容器中添加符號
3. 使用$write power調(diào)用
library(gamstransfer)
m = Container$new()
# create the sets i, j
i = Set$new(m, "i", records = c("seattle", "san-diego"), description = "supply")
j = Set$new(m, "j", records = c("new-york", "chicago", "topeka"), description = "markets")
# add "d" parameter -- domain linked to set objects i and j
d = Parameter$new(m, "d", c(i, j), description = "distance in thousands of miles")
# create some data as a generic data frame
dist = data.frame(
from = c("seattle", "seattle", "seattle",
"san-diego", "san-diego", "san-diego"),
to = c("new-york", "chicago", "topeka",
"new-york", "chicago", "topeka"),
thousand_miles = c(2.5, 1.7, 1.8, 2.5, 1.8, 1.4)
)
# setRecords will automatically convert the dist data frame into
# a standard data frame format
d$setRecords(dist)
注意,對于集合,記錄作為向量傳遞,對于參數(shù)d,則作為data.frame傳遞。一旦數(shù)據(jù)被加載到Container中,將其寫入GDX文件就很*了。
gamstransfer利用R6包提供的面向?qū)ο缶幊坦δ堋K蟹柡腿萜鞫际荝6對象,使gamstransfer能夠通過引用傳遞數(shù)據(jù)并保持符號之間的可靠鏈接。此外,gamstransfer使用了新的、開源的基于C++的GDX API和R中的Rcpp包,保證了較高的讀寫操作性能。我們經(jīng)常在擁有上億條記錄的數(shù)據(jù)集上測試gamstransfer。
從GDXRRW過渡
到目前為止,R用戶一直依賴GDXRRW工具。隨著gamstransfer的出現(xiàn),GDXRRW現(xiàn)在已被棄用,將不再包含在GAMS中。
北京天演融智軟件有限公司(科學(xué)軟件網(wǎng))是GAMS軟件在中國的授權(quán)經(jīng)銷商,為中國的用戶提供優(yōu)質(zhì)的軟件銷售和培訓(xùn)服務(wù)。
詞條
詞條說明
GAMS軟件建模歐盟運(yùn)輸碳強(qiáng)度目標(biāo)
背景**清潔運(yùn)輸** (ICCT) 是一個(gè)非營利組織,幫助各國**和政策制定者做出正確的決策,以減少各種運(yùn)輸方式帶來的空氣污染和燃料消耗??紤]到運(yùn)輸部門的復(fù)雜性,如果可以使用一組統(tǒng)一的規(guī)則,整個(gè)部門都使用統(tǒng)一的復(fù)合模型和整合模型,那么決策者很*做出正確的決策。代數(shù)建模語言(AMLs),如GAMS,已被證明是開發(fā)此類模型的有用工具。對于歐盟**發(fā)起的運(yùn)輸部門脫碳項(xiàng)目,ICCT要求使用GAMS開
2023年6月7日Nvivo軟件系列免費(fèi)學(xué) (一)
使用良好的定性數(shù)據(jù)分析解決方案NVivo,從您的定性和混合方法數(shù)據(jù)中發(fā)現(xiàn)更多信息。本次為大家?guī)?場NVivo免費(fèi)在線的研討會,如果您感興趣,可以報(bào)名參加!使用ChatGPT和NVivo徹底改變定性數(shù)據(jù)分析June 7, 2023, ?- 12 PM EDT在本次網(wǎng)絡(luò)研討會中,定性研究*Philip Adu博士將指導(dǎo)您完成在線提取非結(jié)構(gòu)化數(shù)據(jù)的過程,并使用ChatGPT采用一般摘要,重
免費(fèi)| Wolfram 語言在數(shù)學(xué)中的應(yīng)用
Wolfram語言是一個(gè)高度集成并且持續(xù)擴(kuò)展的系統(tǒng),支持多種編程范式,涵蓋了較廣較深的科學(xué)計(jì)算功能。本次中文講座將演示各種Wolfram技術(shù),這些技術(shù)可用于數(shù)學(xué)領(lǐng)域的科研和教學(xué)。此次中文講座將涵蓋以下主題:符號計(jì)算,線性系統(tǒng),微分方程求解,群論,數(shù)論,函數(shù)可視化,數(shù)值模擬,概率統(tǒng)計(jì)模型,機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)。?主講人嚴(yán)密博士Wolfram 技術(shù)工程師畢業(yè)于弗吉尼亞理工大學(xué)。 研究方向是:理
每年,各種考試測驗(yàn)的紙質(zhì)試卷印刷量巨大,有些高校甚至設(shè)置了印刷廠來負(fù)責(zé)校內(nèi)各類考試的試卷印刷工作。而且,試卷的印刷、運(yùn)輸、評判等各個(gè)環(huán)節(jié)上的安全性風(fēng)險(xiǎn)和高效性上的弊端日趨顯現(xiàn)。隨著互聯(lián)別是移動(dòng)互聯(lián)網(wǎng)的發(fā)展,在線考試在技術(shù)迭代、特別是安全性上已達(dá)到了**的高度。在線考試的應(yīng)用場景和范圍隨著技術(shù)的進(jìn)步和創(chuàng)新得以不斷的拓展。在“互聯(lián)網(wǎng)+”時(shí)代,在線考試,完全通過互聯(lián)網(wǎng)實(shí)現(xiàn)考試的組織、管理和運(yùn)營,考試
公司名: 北京天演融智軟件有限公司
聯(lián)系人: 王經(jīng)理
電 話: 4008104001
手 機(jī): 18510103847
微 信: 18510103847
地 址: 北京海淀北京市海淀區(qū)上地東路35號院1號樓3層1-312-318、1-312-319
郵 編:
網(wǎng) 址: turntech8843.b2b168.com
公司名: 北京天演融智軟件有限公司
聯(lián)系人: 王經(jīng)理
手 機(jī): 18510103847
電 話: 4008104001
地 址: 北京海淀北京市海淀區(qū)上地東路35號院1號樓3層1-312-318、1-312-319
郵 編:
網(wǎng) 址: turntech8843.b2b168.com
智能云閱卷機(jī) 高速閱讀機(jī) 讀卡機(jī)怎么識別答題卡
¥13800.00