テストデータとそれを決定する方法は次の場所にあります:RでのIF関数の使用
「テスト」データを別の関数に入力する必要があります。xとyのデータを以下に示します(基本的に2つのオプション、1 =(89.3、12.1)と2 =(97.2、8.5))。以下の式ははるかに大きな関数の一部ですが、ここに問題があります。行うには、各値を(テスト)のベクトルから個別に呼び出し、出力がテストの各値に対して2つの値になるようにします。[テスト]を直接リンクすると、50個の出力値を持つ新しいベクトルを受け取ります。本当の意味はありません。テストベクトルの最初の値を入力すると、正しい2つの値の出力が返されます(これは手動で確認しました)。
set.seed(1)
Test <- ifelse(runif(50, 0, 1) < 0.69, rnorm(50, 25, 4), rnorm(50, 28, 4.3))
x <- c(89.3, 97.2)
y <- c(12.1, 8.5)
c(-0.75*(((Test)-x)/y)^2)
現在、上記の関数からの出力は次のとおりです。
[1] -21.32750 -55.05068 -25.23216 -49.25087 -20.09236 -53.28421 -19.61593
[8] -51.81307 -21.32136 -62.68412 -22.28700 -56.50245 -21.33593 -47.71792
[15] -18.53459 -55.10348 -16.12545 -42.79888 -19.73790 -40.38937 -17.77048
[22] -51.94862 -19.20262 -54.78823 -18.92120 -51.75187 -22.82277 -52.08655
[29] -18.82475 -45.86141 -16.28231 -56.33673 -24.02006 -50.75048 -14.97440
[36] -40.67076 -20.51602 -50.05597 -21.04648 -58.66084 -20.32455 -65.47588
[43] -20.01028 -53.19754 -15.84125 -52.88386 -23.09141 -50.51265 -19.73710
[50] -50.32994
しかし、テストから最初の値を取得して手動で入力すると、次のようになります。
c(-0.75*(((24.77549)-x)/y)^2)
[1] -21.32750 -54.44958
これは、テストの50個の値すべてに必要なものです
助けてくれてありがとう。