Comment obtenir les coordonnées qui crachent la valeur min/max de la fonction?Comment obtenir les coordonnées qui crachent la valeur min/max de la fonction dans R?
mon code de fonction est:
myfunct <- function(theta){
for (h in 1:nrow(temp)){
theta_i <- theta[temp[h,1]] #i-th position
theta_j <- theta[temp[h,2]] #j-th position
L1 <- -y[temp[h,2],temp[h,1]] * (theta_i - theta_j) + log(1+exp(theta_i -
theta_j))
}
L2 <- L1 + 0.5 * lambda * norm(theta, "2")^2
return(L2)
}
mes coordonnées sont les suivantes:
e1 <- c(1,0,0,0,0,0,0,0,0,0)
e2 <- c(0,1,0,0,0,0,0,0,0,0)
e3 <- c(0,0,1,0,0,0,0,0,0,0)
e4 <- c(0,0,0,1,0,0,0,0,0,0)
e5 <- c(0,0,0,0,1,0,0,0,0,0)
e6 <- c(0,0,0,0,0,1,0,0,0,0)
e7 <- c(0,0,0,0,0,0,1,0,0,0)
e8 <- c(0,0,0,0,0,0,0,1,0,0)
e9 <- c(0,0,0,0,0,0,0,0,1,0)
e10 <- c(0,0,0,0,0,0,0,0,0,1)
unitvect <- c(1,1,1,1,1,1,1,1,1,1)
points <- list(e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,unitvect)
J'ai essayé avec "qui" quelque chose de fonction comme:
for (i in 1:10){
min <- which(points[[i]] == min(myfunct(points[[i]])
}
mais je ne sais pas syntaxe sur l'utilisation de quelle fonction, et je veux stocker les coordonnées qui donne la valeur min de la fonction dans la variable c alled "min". Toute aide sera appréciée.
Appliquer la fonction à tous les points: 'result = sapply (points, myfunct)'. Puis 'min_point = points [[which.min (result)]]'. – Gregor
@Gregor merci, mais pourriez-vous s'il vous plaît dites-moi pourquoi vous mettez des doubles crochets au lieu d'un? – kys92
https://stackoverflow.com/questions/1169456/the-difference-between-and-notations-for-accessing-the-elements-of-a-lis –