簡體   English   中英

R使用敏感性包的tell時,`row.names <-。data.frame`(`* tmp *`,value = value)出錯

[英]R Error in `row.names<-.data.frame`(`*tmp*`, value = value) while using tell of the sensitivity package

我正在使用“敏感性”軟件包進行敏感性研究。 嘗試使用外部模型的輸出數據來計算靈敏度指標時,我得到了十分之一中指定的誤差。

輸出是存儲在csv文件中的三列表,我讀入如下:

day1 <- read.csv("day_1_outputs.csv",header=FALSE)

現在,當我嘗試使用第一列的輸出計算靈敏度指數時:

tell(sob.pars,day1[,1])

我得到:

Error in `row.names<-.data.frame`(`*tmp*`, value = value) : 
   invalid 'row.names' length

最初,我認為我應該使用類似矩陣的對象,因為在另一項研究中,我從光柵圖像讀取的矩陣中生成了輸出,該矩陣可以正常工作,但無濟於事。 使用矢量作為模型結果來告訴狀態的幫助頁面,但是即使我在使用告訴之前存儲了數據框的列,問題仍然存在。

我想我的主要問題是我不了解與Tell函數結合使用的錯誤消息,所以sob.pars是敏感性分析從同一包中的對象構造函數返回的列表,因此我不知道該對象的行名消息正在引用。

任何提示表示贊賞。

終於發現了問題所在。 該錯誤有點令人誤解。 問題不在於行名,因為它們是相同的,這首先使我很惱火。 他們顯然沒有錯。

實際的問題是sob.pars中的列名稱。 這些都不見了。 一旦添加了這些,一切都將正常運行。 無論如何,還是要感謝rawr(我只是現在才注意到有人對此問題發表了評論,我以為發生這種情況時會通知我,但我想不會)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM