一些數據環:目標值和R中
a <- function(a) {3*a+12*a^2}
dom1 <- seq(-1,4,0.1)
vec1 <- a(dom1)[1:10]
c <- function(c) {-5*c^2+2*c^3}
dom2 <- seq(-0.1,0.2,0.01)
vec2 <- c(dom2)[1:10]
d <- function(d) {2*d^2+5*d^3+12*d^4}
dom3 <- seq(0.1,0.5,0.01)
vec3 <- d(dom3)[1:10]
w <- function(w) {7*w-3*w^2}
dom4 <- seq(0.5,2.5,0.05)
vec4 <- w(dom4)[1:10]
現在假設我們在較大的數據擬合lm model
設置lm(y~a+c+d+w)
和LM參數c(-0.2,0.2,0.1,0.6)
fun.mean <- function(a,c,d,w) {-0.2*a+0.2*c+0.1*d+0.6*w}
我試了一下,但沒有按沒有按預期工作:
這裏是通過相關函數生成的向量循環(&域)
for(a in vec1) {
for(c in vec2) {
for(d in vec3) {
for(w in vec4) {
sol <- fun.mean(a,c,d,w)
if (sol %% 1 > 0.40 & sol < 0.50) print(c(a,c,d,w))
}}}}
所以,我正在尋找的是找到的C組合(A,C,d,W),這等於0.5或理想地將等於間隔0.4-0.5
。
因此,將c(a,c,d,w)
輸出與函數fun.mean
相乘不會給出所需的值(區間0.4-0.5)。我做錯了什麼?在給定「目標」值的情況下,找到c(a,c,d,w)值會有更好的方法嗎? for loop
會是什麼替代品,因爲它非常慢。
也許你應該確切地說明你在做什麼以及爲什麼。 – Thomas
你的意思是'將輸出與函數相乘'。什麼不起作用? – mb14
如果將fun.mean與打印的每一行(c(a,c,d,w)相乘,則得不到0.40和0.50之間的值 – Maximilian