3

USGS Nation Water Data Web サイトからのデータがあります。私は現在、データセット内で行われたさまざまな測定値 (溶存酸素、pH、ゲージの高さ、温度) の予測に使用する曲線をプロットしてデータに適合させようとしています。すべて放電率に関連しています。「nls」コマンドを使用し、使用する曲線を見つけるために方程式の本を使用しています...この例では、特にシューマッハの方程式を使用しました (本の p.48)。

データへのリンクを見つけます。

カーブブック: http://www.for.gov.bc.ca/hfd/pubs/docs/bio/bio04.htm

data I used: http://waterdata.usgs.gov/mi/nwis/uv?referred_module=qw&search_station_nm=River%20Rouge%20at%20Detroit%20MI&search_station_nm_match_type=anywhere&index_pmcode_00065=1&index_pmcode_00060=1&index_pmcode_00300=1&index_pmcode_00400=1&index_pmcode_00095=1&index_pmcode_00010=1&group_key=NONE&sitefile_output_format= html_table&column_name=agency_cd&column_name=site_no&column_name=station_nm&range_selection=date_range&begin_date=2013-11-18&end_date=2013-12-18&format=html_table&date_format=YYYY-MM-DD&rdb_compression=file&list_of_search_criteria=search_station_nm,realtime_parameter_selection

私の問題は、コード化された曲線を選択すると、nls に新しい値を予測させることができないということです...また、それをプロットする方法がわかりません...これは残差に関係していると思いますか? コードでは、リストされた測定値と対応する放電率の平均を抽出するために「集計」を使用しましたが、R に予測させるだけで済みます。適合値と思われるものを取得するところまで到達しました...しかし、確信が持てず、「?nls」で壁にぶつかりました。

##Create new dataframes with means given date for each constituent
ph <- aggregate(Discharge~pH, data=River.Data, mean)

##pH models
pH <- ph$pH
disch <- ph$Discharge
phm <- nls(disch~exp(a+(b/pH)), data=ph, trace=T, start=list(a=-47.06 ,b=400.2))
newph<- data.frame(ph=c(3.0,4.0,5.0,6.0,7.0,8.0,9.0))
predict(phm, newdata=newph)
4

3 に答える 3