我正在嘗試使用fitdistr函數,並且一直在閱讀walkthrough「適用於R的分佈」。我可以使用「虛擬數據」來跟蹤概述的示例,但是當我嘗試使用此函數運行我的實際數據時,出現了問題。 我相信這個問題是由於我的數據中存在標題,因爲我不斷得到相同的錯誤。例如,如果我通過了第2列運行我的數據(2列有頭):在MASS庫中使用fitdistr
fitdistr(data$col2,"gamma")
'x' must be a non-empty numeric vector'
我試圖刪除從我的文件頭,並試圖對我所有的數據功能(未像素合併)這也導致了同樣的錯誤。
接下來,我嘗試刪除標題,並只有我想要在數據文件中運行該功能的數據列。這確實運行正常。
請注意,對於我的數據,第二列是我感興趣的運行。但我已經使用第一列數據將第二列分爲20個不同的組,因此我確實需要數據集中的第一列。我可以很容易地刪除頭文件並在單獨的代碼中運行fitdistr()(因爲我一直使用頭文件來調用列),但是我看不到如何只用一列數據來運行這個函數,而且仍然有該數據正確分類。我的第一本能是將數據放入Excel中,然後有20個不同的1列數據集來運行這個函數。這似乎很乏味,所以關於如何使用我的數據集完整執行此功能的任何提示都非常感謝。
如這裏要求是我的數據樣本:
> dput(head(Diam_Str))
structure(list(Diameter = c(0.03, 0.05, 0.05, 0.05, 0.05, 0.05
), Strength = c(0.2, 0.2, 1.5, 0.5, 0.6, 0.3)), .Names = c("Diameter",
"Strength"), row.names = c(NA, 6L), class = "data.frame")
所以我有20組,根據直徑大小。對於每個組,我都看着所看到的優勢分佈。
您可以將您的數據的樣品放入你的問題,使用'dput更換(頭(yourdat))'?數據的細節似乎是問題的核心...... – Ben 2013-03-13 17:11:23