Вы всегда используете row.names = F в write.csv?Изменение значений по умолчанию внутри R (базовых) функций - PullRequest
9 голосов
/ 11 июля 2011

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

  • с write.csv У меня в основном всегда есть аргумент row.name, установленный на F. Возможно ли выполнить строку один раз и обновить значение по умолчанию для аргумента до конца сеанса?
  • Я попытался paste <- paste(sep=""), который запустился и не выдал ошибку, но, похоже, ничего не сделал (и не разрушил функцию paste). Это еще один, я всегда устанавливаю sep="" с paste ...
  • как у меня всегда есть exclude=NULL, когда я использую table, поэтому я могу видеть значения N / A.

РЕДАКТИРОВАТЬ: Итак, я ищу решение, которое будет работать для нескольких функций, если это возможно: paste, write.csv, table и других функций, подобных этим.

Ответы [ 2 ]

8 голосов
/ 11 июля 2011

paste <- paste(sep="") помещает вывод paste() в объект с именем "paste".Вместо этого вам нужно сделать что-то подобное.

paste <- function (..., sep = "", collapse = NULL) {
  base::paste(..., sep=sep, collapse=collapse)
}

Вы также можете посмотреть пакет По умолчанию для такого рода вещей, но в настоящее время он не работает для двухпримеры.

5 голосов
/ 11 июля 2011

Попробуйте это:

paste <- paste
formals(paste)$sep <- ""

Это создает новую копию paste в вашей рабочей области, а затем изменяет ее значение по умолчанию для sep на "". Последующие вызовы paste будут использовать измененную копию, поскольку она находится перед базовой средой в вашем пути поиска.

...