Je sais que cette réponse est dépassée, mais je n'ai pas réussi à faire fonctionner les réponses précédentes de manière très satisfaisante. Je voulais donc proposer ma méthode au cas où quelqu'un d'autre rencontrerait la même erreur que celle mentionnée dans les commentaires de la réponse de BumbleBee.
Le mien est basé sur une simple commande système. Tout ce que vous donnez à la fonction est le nom de votre script :
extractRootDir <- function(x) {
abs <- suppressWarnings(system(paste("find ./ -name",x), wait=T, intern=T, ignore.stderr=T))[1];
path <- paste("~",substr(abs, 3, length(strsplit(abs,"")[[1]])),sep="");
ret <- gsub(x, "", path);
return(ret);
}
setwd(extractRootDir("myScript.R"));
La sortie de la fonction ressemblerait à "/Users/you/Path/To/Script"
. J'espère que cela aidera tous ceux qui se sont retrouvés bloqués.