tips
"~"の展開とかに使える。Windoesショートネームの展開にも使えるかも。
dir()とlist.files()はたぶん同じ機能。あと、lis.dirs(), list.files() が揃っている。ファイルシステム関係は、file.*() のようだ。 > file.[TAB][TAB]file.access file.append file.choose file.copy file.create file.edit file.exists file.info file.l…
ライブラリロケーションは、.libPaths()関数が管理している。この関数固有の内部変数.lib.locを持っていて、そこにディレクトリ文字列のリストが保存されている。 処理系の初期化時に、デフォルトディレクトリ R.home("library") を .Library変数にセットす…
> mirr > class(mirr) [1] "data.frame" > names(mirr) [1] "Name" "Country" "City" "URL" "Host" "Maintainer" [7] "OK" "CountryCode" "Comment" > fix(mirr) >次は保存されているCSV表示。 > mirr csv(file.path(R.home("doc"), "CRAN_mirrors.csv")) > …
> 平方根 > 平方根(2) [1] 1.414214 >
スコープ演算子:::を使う。 > utils:::.readPkgDesc(.Library, "Version") [,1] [,2] [,3] [1,] "animation" "C:/Installed/R/R-3.2.2/library" "2.4" [2,] "assertthat" "C:/Installed/R/R-3.2.2/library" "0.1" [3,] "base" "C:/Installed/R/R-3.2.2/libra…
ドットで始まる名前を使う: 安直 内部関数: 関数のフレーム内で定義する。完全に隠れる。コンパイルされてないと遅い気がする。 パッケージのプライベート: 面倒。 自分専用のスコープを準備する: そのスコープ内に定義すれば普通では見えない。.libPath…
install.packages() (引数なし)でGUIが出る。fix()やedit()、show.file()もGUIを出す。helpもGUIと言っていいかも。
baseだけで100個ほどある。 > ls(.BaseNamespaceEnv, pattern="^\\.", all.names=T) [1] "..getNamespace" ".__H__.cbind" [3] ".__H__.rbind" ".__S3MethodsTable__." [5] ".amatch_bounds" ".amatch_costs" [7] ".ArgsEnv" ".AutoloadEnv" [9] ".BaseNames…
for (i in 1:length(x)) something(i) とすると、xが空列のときにエライことになる。for (i in seq_along(x)) something(i) とする。
lis[[i]] lis[i]
readLines() または scan()。見るだけなら、file.show()
new.env(parent=emptyenv()) なんらかのデータの属性を使う。attr(x, "key"), attr(x, "key") 名前付きlistを使う。lis$key, lis$key
他人のトラブルシューティングとか、自分の環境を伝えるのに便利。 > sessionInfo() R version 3.1.3 (2015-03-09) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 7 x64 (build 7601) Service Pack 1locale: [1] LC_COLLATE=Japanese_J…
引数は検索文字列。
名前空間の制御には、localとwithがある。なかなか使えるヤツ。
> (dcsv("data.csv", fileEncoding="utf-8"))