[r] 전문가 R 사용자, .Rprofile에 무엇이 있습니까? [닫은]
나는 항상 다른 사람들의 시작 프로필 파일이 언어에 대해 유용하고 유익한 것을 발견했습니다. 또한 Bash 및 Vim에 대한 사용자 정의가 있지만 R에는 아무것도 없습니다.
예를 들어, 내가 항상 원했던 한 가지는 윈도우 터미널의 입력 및 출력 텍스트의 색상이 다르며 심지어 구문 강조입니다.
답변
여기 내 꺼야 착색에 도움이되지 않지만 ESS 및 Emacs에서 얻습니다 …
options("width"=160) # wide display with multiple monitors
options("digits.secs"=3) # show sub-second time stamps
r <- getOption("repos") # hard code the US repo for CRAN
r["CRAN"] <- "http://cran.us.r-project.org"
options(repos = r)
rm(r)
## put something this is your .Rprofile to customize the defaults
setHook(packageEvent("grDevices", "onLoad"),
function(...) grDevices::X11.options(width=8, height=8,
xpos=0, pointsize=10,
#type="nbcairo")) # Cairo device
#type="cairo")) # other Cairo dev
type="xlib")) # old default
## from the AER book by Zeileis and Kleiber
options(prompt="R> ", digits=4, show.signif.stars=FALSE)
options("pdfviewer"="okular") # on Linux, use okular as the pdf viewer
답변
options(stringsAsFactors=FALSE)
내 .Rprofile에 실제로는 없지만 공동 저자의 코드가 손상 될 수 있기 때문에 이것이 기본값이기를 바랍니다. 왜?
1) 문자형 벡터는 더 적은 메모리를 사용합니다 (그러나 간신히 만).
2) 더 중요한 것은 다음과 같은 문제를 피하는 것입니다.
> x <- factor(c("a","b","c"))
> x
[1] a b c
Levels: a b c
> x <- c(x, "d")
> x
[1] "1" "2" "3" "d"
과
> x <- factor(c("a","b","c"))
> x[1:2] <- c("c", "d")
Warning message:
In `[<-.factor`(`*tmp*`, 1:2, value = c("c", "d")) :
invalid factor level, NAs generated
요인은 필요할 때 유용하지만 (예 : 그래프에서 순서 구현) 대부분 성가신 일입니다.
답변
나는 매번 전체 단어 ‘head’, ‘summary’, ‘names’를 입력하는 것을 싫어하므로 별칭을 사용합니다.
별칭을 .Rprofile 파일에 넣을 수 있지만 함수의 전체 경로 (예 : utils :: head)를 사용해야합니다. 그렇지 않으면 작동하지 않습니다.
# aliases
s <- base::summary
h <- utils::head
n <- base::names
편집 : 귀하의 질문에 대답하기 위해, 당신이 사용할 수있는 colorout의 단자에 다른 색을 가지고 패키지를. 멋있는! 🙂
답변
내 꺼야 나는 항상 주요 크랜 저장소를 사용하고 개발중인 패키지 코드를 쉽게 소스 할 수있는 코드를 가지고 있습니다.
.First <- function() {
library(graphics)
options("repos" = c(CRAN = "http://cran.r-project.org/"))
options("device" = "quartz")
}
packages <- list(
"describedisplay" = "~/ggobi/describedisplay",
"linval" = "~/ggobi/linval",
"ggplot2" = "~/documents/ggplot/ggplot",
"qtpaint" = "~/documents/cranvas/qtpaint",
"tourr" = "~/documents/tour/tourr",
"tourrgui" = "~/documents/tour/tourr-gui",
"prodplot" = "~/documents/categorical-grammar"
)
l <- function(pkg) {
pkg <- tolower(deparse(substitute(pkg)))
if (is.null(packages[[pkg]])) {
path <- file.path("~/documents", pkg, pkg)
} else {
path <- packages[pkg]
}
source(file.path(path, "load.r"))
}
test <- function(path) {
path <- deparse(substitute(path))
source(file.path("~/documents", path, path, "test.r"))
}
답변
R 명령 기록을 저장하고 R을 실행할 때마다 사용할 수 있도록하는 것이 좋습니다.
쉘 또는 .bashrc에서 :
export R_HISTFILE=~/.Rhistory
.Rprofile에서 :
.Last <- function() {
if (!any(commandArgs()=='--no-readline') && interactive()){
require(utils)
try(savehistory(Sys.getenv("R_HISTFILE")))
}
}
답변
다음은 창 작업에 유용한 두 가지 기능입니다.
첫 번째는 \
s를 로 변환합니다 /
.
.repath <- function() {
cat('Paste windows file path and hit RETURN twice')
x <- scan(what = "")
xa <- gsub('\\\\', '/', x)
writeClipboard(paste(xa, collapse=" "))
cat('Here\'s your de-windowsified path. (It\'s also on the clipboard.)\n', xa, '\n')
}
두 번째는 새 탐색기 창에서 작업 디렉토리를 엽니 다.
getw <- function() {
suppressWarnings(shell(paste("explorer", gsub('/', '\\\\', getwd()))))
}
답변
COLUMNS 환경 변수 (Linux에서)를 읽으려고 전체 터미널 너비를 사용하는보다 역동적 인 트릭을 얻었습니다.
tryCatch(
{options(
width = as.integer(Sys.getenv("COLUMNS")))},
error = function(err) {
write("Can't get your terminal width. Put ``export COLUMNS'' in your \
.bashrc. Or something. Setting width to 120 chars",
stderr());
options(width=120)}
)
이렇게하면 터미널 창의 크기를 조정할 때 R이 전체 너비를 사용합니다.