2つの列と数(n)の行からなる行列を持ち、各行は座標xとy(2つの列)を持つ点を表します。 これは、それが(LINK)に見えるものです:Rの連続した行を使用するループオーバーマトリックス
V1 V2
146 17
151 19
153 24
156 30
158 36
163 39
168 42
173 44
...
今、私はデン、別のリストに、このフィットから値を保存し、いくつかのフィッティングを行うには1から3つの連続した点のサブセットを使用したいです次の3つのポイント、そして次の3つのポイントに進みます。リストが終了するまで続きます。このようなもの:
Data_Fit_Kasa_1 <- CircleFitByKasa(Data[1:3,])
Data_Fit_Kasa_2 <- CircleFitByKasa(Data[3:6,])
....
Data_Fit_Kasa_n <- CircleFitByKasa(Data[i:i+2,])
私はループを構築しようとしましたが、動作させることはできません。 Rは、「}」に「予期しない」があること、または「下付き文字が債券ではない」ことを教えています。これは私が試したものである:
install.packages("conicfit")
library(conicfit)
CFKasa <- NULL
Data.Fit <- NULL
for (i in 1:length(Data)) {
row <- Data[i:(i+2),]
CFKasa <- CircleFitByKasa(row)
Data.Fit[i] <- CFKasa[3]
}
RStudio Version 0.99.902 – © 2009-2016 RStudio, Inc.; Win10 Edu.
を最小の実行可能なコードフィット円(CFKasa [3])の3番目の要素は、私が本当に興味を持って何である、半径を表します。私は本当にここにこだわっている、助けてください。
事前に感謝します。
ベスト、デビッド
はどうもありがとうございました! –
Zheyuan Liが述べたように、あなたは遠くまで走っているループを世話する必要があります。最初に問題を説明したように、私はDataが2次元だと仮定していますので、代わりに 'length(Data [、1])'を使いたいと思います。 2番目のことは 'length(Data [、1]) - 2'までループを実行するだけです。 –
私のアプローチは、データを3次元配列にして' apply'を使うことです。再現可能な例を提供し、詳細を表示するかもしれません。 – Roland