Frage

Am Anfang meiner R Leben entdecken ich den Schmerz von R und Fenster auf verschiedenen Seiten, wenn es um die Trennlinie zwischen Verzeichnissen und Unterverzeichnissen kommt. Eventhough ich über das Problem wissen, bin ich schmerzte immer noch von Hand einen umgekehrten Schrägstrich vor allen meinen Schrägstriche oder ersetzen sie alle mit Schrägstriche zu setzen haben.

Ich liebe das Kopieren einen Pfadnamen oder einen ganzen Dateinamen mit einem von mehreren Anwendungen, die ich auf meinem Computer laufen habe (zB. XYplorer, Alles von voidtools) und Einfügen dann in Tinn-R. Gibt es trotzdem, dass ich die Aufgabe automatisieren könnte, die ich zur Zeit manuell zu tun bin.

  • Gibt es eine Einstellung in Tinn-R?
  • Gibt es eine Einstellung in R?
  • Sie haben einen autohotkey Skript, das es für mich standardmäßig tun könnte?

Hintergrund für diejenigen, die nicht wissen, was ich rede

von R für Windows FAQ, Version für R-2.9.2 Zitiert, B. D. Ripley und D. J. Murdoch

  

Umgekehrte Schrägstriche haben werden in R verdoppelt   Zeichenketten, so zum Beispiel ein   Bedürfnisse   ` "D: \ R-2.9.2 \ library \ xgobi \ scripts \ xgobi.bat"‘.   Sie können das Leben leichter für sich selbst machen   unter Verwendung von Schrägstrichen als Pfad   Separatoren: sie unter Windows arbeiten

War es hilfreich?

Lösung

Ich schrieb einen autohotkey Skript, das durch Eingabe von "RFIL" ausgelöst wird - ohne die Anführungszeichen.

:O:rfil:: ;replaces backslashes with forward slashes in a file name that is stored on the clipboard
StringReplace,clipboard,clipboard,\,/,All
send %clipboard%
return

Wenn jemand kann mir eine schnellere Art und Weise sagen, als den Sendebefehl Ich würde es zu schätzen wissen. Ich habe einen autohotkey Skript auf allen meinen Computern läuft die ganze Zeit, so dass ich keine neue Software herunterladen, um verfügen, um dieses Skript auszuführen. Ich habe es einfach auf meine Standard-Skriptdatei.

werde ich glücklich sein, zu erklären, was ich tat, wenn Sie mich wollen.

Andere Tipps

ClipPath fügt Kontextmenü Optionen zu wählen, welche Art von Slash Sie wollen einzufügen.

Erste Genetics Fertig , das aussieht wie es eine nützliche Ressource für R Benutzer im allgemeinen sein könnte.

Ich habe die folgende autohotkey Code angepasst geteilt alle Schrägstriche zu ersetzen durch Slashes, wenn ich irgendetwas in RStudio einfügen. Es gibt Vor-und Nachteile dieses Ansatzes.

Vorteile: Sie müssen darüber nicht nachdenken. Der Code wird nur ausgeführt, wenn das aktive Fenster ist RStudio.

Nachteile:. Der Code, den Sie jedes Mal etwas in R. genannt wird Jedes Mal, fügen Sie versucht Schrägstriche zu finden und ersetzen sie durch Slashes

GroupAdd, R, RStudio

;replaces backslashes with forward slashes in a file name that is stored on the clipboard
#IfWinActive ahk_group R
   ^v::
      StringReplace,clipboard,clipboard,\,/,All
      send %clipboard%
   return
#IfWinActive

Ich suche verwenden und ersetzen, aber natürlich ist es nicht völlig automatisch und Sie müssen darauf achten, nicht „\ t“ oder „\ n“ zu ersetzen.

Nicht genau die Antwort, die Sie suchen, aber R seine eigenen Shell-Scripting-Funktionen hat, die ich häufig verwenden:

list.files (Voll = TRUE) [kehrt vollständigen Pfad mit entsprechenden Separatoren]

file.path () [verbindet sich mit OS-spezifischen Separator]

und so weiter ...

Sie können eine Wrapper-Funktion um alle Pfadnamen erstellen:

> replace.slash <- function(path.name) gsub("\\\\","/",path.name)
> path.name <- "c:\\tmp\\"
> replace.slash(path.name)
[1] "c:/tmp/"

[Bearbeiten]: Danke Hadley. Ich korrigierte dort den Fehler.

Übrigens fand ich dieses sehr nützliche Diskussion über dieses Thema .

Dies ist AutoIt Code, der das Gleiche tut (ersetzt mit \ /).

Local $text1 = ClipGet()
$text2=StringReplace($text1,"\","/")
ClipPut($text2)

warum man nicht eine Funktion, die das Betriebssystem und gibt den richtigen Datei-Separator (die Java-Lösung glaube ich)?

prüft
file_sep <- function(){
ifelse(.Platform$OS.type == "unix", "/", "//")
}
file_sep()

Sie können einen kürzeren Namen wählen, wenn Sie mögen. Der große Fehler ist, dass Sie Dateipfade fügen zusammen, aber es ist immer noch lohnt sich langfristig, wenn Sie auf große Projekte arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top