私はループ内に反復を持っていますが、反復内に単一の値を格納する変数b
を持っています。b
の値は、私が直面している問題は、各反復中にb
の各値を呼び出す方法がわからず、繰り返し実行中にこれが本当に必要なことです。例えば、反復がレベル2であったときに、b
の値を、反復がレベル4にあるときに同じ値のb
に追加したいとします。b
を印刷すると、正しい答えが得られますが、それぞれを呼び出す方法はわかりません反復中のbの値R内の反復内の変数に対して反復された各値を呼び出す方法
注:b
はベクトルではなく、繰り返し内で計算される単一の値変数です。親切に私は私のプログラム内で呼び出すか、どのように私は反復レベルが3と4のときb
を取得する場合b
出力は、例えば
[1] 3.412
[1] -0.872
[1] 0.624
[1] -0.484
[1] 0.374
[1] -0.293
[1] 0.23
[1] -0.18
[1] 0.14`
[1] -0.109
を下回っている
# Assignment for the resistant line
x <- c(51.3, 49.9, 50, 49.2, 48.5, 47.8, 47.3, 45.1, 46.3, 42.1, 44.2, 43.5, 42.3,
40.2, 31.8, 34)
y <- c(102.5, 104.5, 100.4, 95.9, 87, 95, 88.6, 89.2, 78.9, 84.6, 81.7, 72.2, 65.1,
68.1, 67.3, 52.5)
n <- 3
df = data.frame(x, y)
data = df[order(x), ]
# Partition <- function(x,n) split(x,factor(sort(rank(x)%%n)))
x = data$x
y = data$y
for (i in 1:10) {
Partition1 <- split(x, factor(sort(rank(x)%%n)))
Partition1
xl = median(Partition1[[1]])
xm = median(Partition1[[2]])
xr = median(Partition1[[3]])
Partition2 <- split(y, factor(sort(rank(y)%%n)))
Partition2
yl = median(Partition2[[1]])
ym = median(Partition2[[2]])
yr = median(Partition2[[3]])
b = round((yr - yl)/(xr - xl), digits = 3)
a = round(((yl + ym + yr) - (b * (xl + xm + xr)))/3, digits = 2)
yfit = a + (b * x)
yres = round(y - yfit, digits = 2)
df1 = data.frame(x, y, yfit, yres)
df2 = data.frame(xl, xm, xr, yl, ym, yr, b, a)
if (i > 0) {
y = yres
}
# print(df1)
# print(df2)
print(b)
}
以下の私のコードを参照してください?
ループ内で 'b'の値を使用する方法を尋ねるのですか、ループが完了した後にそれを持つように' b'が各反復で取る値をコンパイルする方法を尋ねていますか? –
私は反復の中の各bの値を知りたいと思います。たとえば、bの値を使う反復の中で別の変数cを計算したいとします。たとえば、私はci = bi + bi-1を計算したいと思います。たとえば、iterationがレベル3にあるとき、私はc3 = b3-b2を計算したいと思います。ここで、b3は反復がレベル3にあるときのbの値であり、b2は反復がレベル2にあるときのbの値です。 – Dare