Bonjour, On y arrive pas trop mal avec la fonction nlminb() de minimisation non linéaire sous contraintes. Dans l'exemple suivant, les 5 paramètres sont x1, r, a1, b2, b3 et ils sont forcés à des valeurs positives (par lower). Les contraintes de continuité sont incluses dans la définition de la fonc...
La comparaison ne peut être effectuée car l'un au moins des deux membres est une valeur manquante. C'est souvent dû à un dépassement d'indice de vecteur: > x <- 100 ; if (x[2]>1) print("x[2]>1") Error in if (x[2] > 1) print("x[2]>1") : missing valu...
Bonjour, Voici un code plus court : nval.consec <- function(dta,nb,seuil){ length(grep(paste(rep(1,nb),collapse=''),paste(as.numeric(dta>=seuil),collapse='')))==1 } PS. Sauf erreur de ma part, la fonction nval_consec ne donne pas le r...
Bonjour, Il y a déjà eu plusieurs discussions à ce sujet sur le forum : http://forums.cirad.fr/logiciel-R/viewtopic.php?p=481 http://forums.cirad.fr/logiciel-R/viewtopic.php?p=2726 http://forums.cirad.fr/logiciel-R/viewtopic.php?p=3167 http://forums.cirad.fr/logiciel-R/viewtopic.php?p=3885 http://fo...
pour mon apprentissage personnel, pourriez vous m'expliquer la deuxième ligne du code car j'ai un peu de mal à bien la comprendre ? Bonjour, Pour comprendre une expression qui semble un peu compliquée, il suffit de la décomposer : x <- c(1,0,1,1) as.logical(x) letters[1:4] letters[1...
Bonjour, On peut faire ça avec une liste par exemple. f <- function(i,j) matrix(c(i,i,j,j),nrow=2) # opération voulue f(4,6) # exemple n <- (1:11)*2 # nbre experiment ds etude i list1 <- NULL for (i in 1:11){ list2 <- NULL for (j in 1:n[i])...
Bonjour, Nous avions déjà eu l'occasion d'aborder ce point de vive voix avec Renaud (et d'autres personnes je crois) lors de la création de ce forum et avions décidé à l'époque de ne pas traduire "package" faute d'équivalent exact. Mais évidemment la langue française évolue et cette approc...
Bonjour, Partant du data frame "test" donné en exemple ci-dessus par Vincent, voici un code un peu plus court: n <- sapply(strsplit(names(test),'\\.'),'[',1) s <- split(1:length(n),n)[-1] cbind(test[1],data.frame(sapply(s,function(x...
J'essaye d'écrire un script qui me permettrai de calculer une moyenne toutes les 5 lignes. Bonjour, Une solution simple est d'utiliser split. Cela fonctionne même si le nombre de lignes n'est pas un multiple de 5. Par exemple avec un tableau de 12 lignes et 3 colonnes, cela donne: tab <- data.frame...
Voici un code qui marche aussi pour les cases des bords et des angles, pour toute matrice : Code : > m <- matrix(1:20,nrow=4) > m [,1] [,2] [,3] [,4] [,5] [1,] 1 5 9 13 17 [2,] 2 6 10 14 18 [3,] 3 7 11 15 19 [4,] 4 8 12 16 20 > f <- function(x) sum(m[max(1,x[1]-1):min(...
Bonjour,
La non convergence peut être due à un modèle surparamétré (m et n très corrélés), ou bien à un modèle non adapté aux données.
Voir aussi les fonctions nlm et optim.
Ceci-dit, point de vue convivialité, on fait mieux (y parait qu'on s'habitue ;-) Il est vrai que la prise en main d'Emacs est compliquée. Mis à part un menu assez rudimentaire, les commandes sont exécutées essentiellement avec des combinaisons de touches qui n'ont rien à voir avec celles auxquelles...