我正在尝试编写一个脚本来获取方程 25a+20b=1600 的一些特定值,其中 a 在 24:60 和 b 在 20:50 之间的范围内
我需要得到满足方程的 a 和 b 对。
我的第一个问题是如何用一位小数(a=24.0,24.1,24.2...等)定义 a 和 b 但我克服了这个定义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)} 并且它会起作用。我也会检查其他建议。谢谢。