Wie wird der aktuelle Dateispeicherort als Standardarbeitsverzeichnis in der R-Programmierung festgelegt?
Ich möchte den aktuellen Dateispeicherort als Arbeitsverzeichnis festlegen.
Mit Rstudio (Works!):
# Author : Bhishan Poudel
# Program : writehere.r
# Source : Rscript writehere.r
# set working directory here
this.dir <- dirname(parent.frame(2)$ofile) # frame(3) also works.
setwd(this.dir)
# Sample data to test this code
mydata <- seq(1:10)
write.csv(mydata,"writehere.dat")
#This works flawlessly in MacOS 10.9 and Ubuntu 15.1.
Verwenden des Befehls vom Terminal: Rscript writehere.r (Funktioniert nicht!)
Error in dirname(parent.frame(2)$ofile) :
a character vector argument expected
Execution halted
------------------
(program exited with code: 1)
Verwenden des Befehls vom Terminal: Rscript writehere.r (Funktioniert jetzt!)
# Author : Bhishan Poudel
# Program : writehere.r
# Source : Rscript example.r
# set working directory here
this_dir <- function(directory)
setwd( file.path(getwd(), directory) )
# Sample data to test this code
mydata <- seq(1:10)
write.csv(mydata,"writehere.dat")
Mit der Funktion in ~ / .Rprofile für Rstudio (Works!):,
##############################################
# inside ~/.Rprofile
# set up working directory
setwd_thisdir <- function () {
this.dir <- dirname(parent.frame(3)$ofile)
setwd(this.dir)
}
##############################################
Then, in jedem Verzeichnis sagen wir, ich habe eine Datei writehere.r, jetzt funktioniert es.
# Author : Bhishan Poudel
# Program : writehere.r
# Compile : Rscript writehere.r
# set working directory here
setwd_thisdir
# Sample data to test this code
mydata <- seq(1:10)
write.csv(mydata,"writehere.dat")
Frage Warum die Funktion
this.dir <- dirname(parent.frame(2)$ofile) # ,frame(3) also works.
setwd(this.dir)
Funktioniert das nicht für andere Texteditoren als Rstudio?
Einige nützliche Links sind folgende:
R Arbeitsverzeichnis auf Quelldateispeicherort setzen?
R Befehl zum Setzen des Arbeitsverzeichnisses auf den Quelldateispeicherort
get Dateiname und Pfad der `source`d Datei
setwd () im aktuellen Arbeitsverzeichnis
Befehl für "Arbeitsverzeichnis auf Quelldateispeicherort setzen"
SublimeText und R: Aktuelles Dateiverzeichnis festlegen
Einstellung des Arbeitsverzeichnisses über eine Funktion
Was ist eine idiotensichere Methode, um das R-Arbeitsverzeichnis dauerhaft festzulegen?
R Arbeitsverzeichnis auf Quelldateispeicherort setzen?
Wie komme ich in das Verzeichnis einer Datei in R?