24:60 と 20:50 の b の間の範囲の a で、式 25a+20b=1600 の特定の値を取得するスクリプトを作成しようとしています。
式を満たす a と b のペアを取得する必要があります。
私の最初の問題は、 a と b を小数点以下 1 桁 (a=24.0,24.1,24.2... など) で定義する方法でしたが、その定義を克服したa<-c(240:600)/10
ので、最初の質問は次のとおりです。それを行う直接的な方法はありますか? ?
今、私はいくつかのネストされたループを実行し、式がベクトルで満たされるたびに取得できます。 rbind() を使用してこのベクトルをマトリックスまたはデータフレームにアタッチしたいのですが、エラーなしでは機能しませんまたは警告。最初のベクトルの値を取得するだけです。
これが私のコードです。誰かが問題の場所を定義するのを手伝ってくれますか?
solve_ms <- function() {
index<-1
sol<-data.frame()
temp<-vector("numeric")
a<-c(240:600)/10
b<-c(200:500)/10
for (i in 1:length(a)){
for (j in 1:length(b)) {
c <- 25*a[i]+20*b[j]
if(c == 1600) {
temp<-c(a[i], b[j])
if(index == 1) {
sol<-temp
index<-0
}
else rbind(sol,temp)
}
}
}
return(sol)
}
コードの問題がどこにあるのかを見つけました。戻り値をデータフレームに割り当てずに rbind を使用しています。{sol<-rbind(sol,temp)} を実行する必要がありましたが、うまくいきます。他の提案もチェックします..ありがとう。