Облегчение при раздражении обратной косой черты в R для Windows

У пользователей MATLAB заканчивается память все время при выполнении арифметики с большими массивами. Например, если переменная x умещается в памяти, и они выполняют "x+1" тогда, MATLAB выделяет место для результата и затем заполняет его. Если выделение приводит ошибки MATLAB к сбою, и пользователь может попробовать что-то еще. Это было бы бедствие, если бы MATLAB вышел каждый раз, когда этот вариант использования подошел.

5
задан Farrel 16 April 2010 в 19:15
поделиться

6 ответов

Я написал сценарий autohotkey , который запускается при вводе «rfil» - без кавычек.

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

Если кто-нибудь может сказать мне более быстрый способ, чем использование команды отправки, я был бы признателен. У меня есть сценарий autohotkey, работающий все время на всех моих компьютерах, поэтому мне не нужно было загружать новое программное обеспечение, чтобы запустить этот сценарий. Я просто добавил его в свой файл сценария по умолчанию.

Я буду рад объяснить, что я сделал, если вы хотите, чтобы я это сделал.

7
ответ дан 18 December 2019 в 11:58
поделиться

Не совсем тот ответ, который вы ищете, но R имеет свои собственные функции сценариев оболочки, которые я часто использую:

list.files (, full = TRUE) [возвращает полный путь с соответствующими разделители]

file.path () [объединяется с разделителем, специфичным для ОС]

и так далее ...

1
ответ дан 18 December 2019 в 11:58
поделиться

Я использую поиск и замену, но, конечно, он не полностью автоматический, и вы должны позаботиться о том, чтобы не заменять "\ t" или "\ n".

1
ответ дан 18 December 2019 в 11:58
поделиться

Вы можете создать функцию-оболочку вокруг всех имен путей:

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

[Edit]: Спасибо, Хэдли. Исправил там ошибку.

Между прочим, я нашел очень полезное обсуждение этой темы .

1
ответ дан 18 December 2019 в 11:58
поделиться

Почему бы не создать функцию, которая проверяет ОС и возвращает правильный разделитель файлов (я считаю, решение Java)?

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

Вы можете выбрать более короткое имя, если хотите. Большой недостаток здесь в том, что вам нужно склеивать пути к файлам, но это все равно того стоит, если вы работаете над большими проектами.

0
ответ дан 18 December 2019 в 11:58
поделиться

ClipPath добавляет контекстное меню, чтобы выбрать, какой вид косой черты вы хотите вставить.

Через Getting Genetics Done , что похоже, что могло бы быть полезным ресурсом для пользователей R.

2
ответ дан 18 December 2019 в 11:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: