我想為我的核密度估計計算最佳帶寬值。我有一個包含兩列(經度和緯度)的 .csv。我嘗試了幾種不同的功能,但總是得到不同的錯誤。到目前為止,我嘗試過:
h.amise(x, deriv.order = 0)
這給了我以下錯誤:引數'x'必須是數字并且需要至少3個資料點但是,我檢查了我的資料框,它是數字的。
然后我嘗試了:
dpik(x)
這給了我以下錯誤:'list'物件不能被強制輸入'double'
使用 .csv 作為具有兩列的資料框是錯誤的,或者可能是什么問題?
uj5u.com熱心網友回復:
根據您的樣本資料:
library(kedd)
library(KernSmooth)
h.amise(x$long)
#
# Call: Aymptotic Mean Integrated Squared Error
#
# Derivative order = 0
# Data: x$long (10 obs.); Kernel: gaussian
# AMISE = 0.02761525; Bandwidth 'h' = 1.57264
h.amise(x$lat)
#
# Call: Aymptotic Mean Integrated Squared Error
#
# Derivative order = 0
# Data: x$lat (10 obs.); Kernel: gaussian
# AMISE = 0.01352194; Bandwidth 'h' = 3.37266
dpik(x$long)
# [1] 0.4912055
dpik(x$lat)
# [1] 1.079109
閱讀手冊頁?h.amise并?dpik了解詳細資訊。這些函式將單個數值向量作為輸入。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/420124.html
標籤:
