niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(R) Pandoc 2.xに移る時期が来ているようです

今のRStudio (preview版じゃない)であれば、1.9のはずです

色々調べごとしていて見つけたので。Yihuiさん曰く、そろそろPandoc 2.xにしても良いかもね。Pandocに依存したパッケージが大体対応しているみたいだしという感じのことをブログに書いていました。

yihui.name

実際に最新のRStudio のpreview版ではPandoc は2.2.1がbundleされているとのこと(なので、別にインストールする必要はないようだ)

で、早速試してみたんだけど、win版、ツールバーが表示されないような…バグ??ちょっと他環境とあわせて調べてみる予定です。

Enjoy!!

(R) 最近、集計系のパッケージに興味がありまして(リンク集のリンク集)

主にsummarytoolsのせい。

調べてみると、便利パッケージ群まとめて紹介しているサイトはあって、色々見つけたものの、色々ありすぎてわけわからなくなってきたので後から見れるようにペタペタ貼っていくだけの記事。

My favourite R package for: frequency tablesdabblingwithdata.wordpress.com

My favourite R package for: summarising datadabblingwithdata.wordpress.com

support.rstudio.com

www.computerworld.com

とりあえずこれで最近のパッケージでフォローできてなかったものも結構見つけたので、少しずつ使ってみたりしていく。

Enjoy!!

(R) RStudioのパッケージの更新時にNEWSのリンク先が見つからない(404)ことがあるが、本当はあったりするし、そのうち直るよ!

開発版なら直ってるよ!

…という話をid:u_riboさんに教えていただきました。

例えばstringiパッケージだと

https://cran.r-project.org/web/packages/stringi/NEWS

ですが、drakeパッケージなら

https://cran.r-project.org/web/packages/drake/news/news.html

にあります。後者のnewsを現在の安定版の最新RStudio1.1.453では拾ってくることが出来ませんが、先のツイートの先のリンク先にあるように、これはfixしている、ということでした。

忘れないうちにメモメモ…。

Enjoy!!

(R) ReporteRsパッケージがarchiveされてしまった… (メモ)

これでブログ書こうと思っていたのに…

GitHubリポジトリでは予告があったようですが(今日気づいた)、CRANの方が無事?にarchiveされてしまいました。

CRAN - Package ReporteRs

今後はofficerパッケージを使いましょうということで。rjavaに依存しないのでメンテが楽らしいですが、使い勝手はどうなんでしょう?っていうのをこれから調べて書いていくんですけどね…。

davidgohel.github.io

Rからdocx作りたい人、世の中にそんなにいるとは思えないのだが…さて…

(R) styler、RStudio IDEのaddinになっていたんですね(メモ)

気づいたのでメモ

久々にThe tidyverse style guideを読んでいて、この最初のページの末尾にあって気づきました。

style.tidyverse.org

私の環境でも。

f:id:niszet:20180716171733p:plain

今まで関数呼んだりusethisパッケージ使ったりしていたのでちょっと便利になるかも…。

当然?stylerのGitHubリポジトリのREADMEにも書いてありますね…。

github.com

今は日本語文字列も問題なく扱えるはずなので、安心してどんどん使いましょう。 ただし、bquoteだけはうまくいかないのですが、使ってる人あまりいないのでは?と思うので…(いますか?)

Enjoy!!

洋ボカロを聞き始めた

海外の方が English ver で作ったボカロ曲っていうことです

国内のメジャーなのは結構聞いてしまったので、段々とマンネリに1なっていましたが、全英語詩の曲を聴いていると、結構海外の方の作成した曲があることに気づきました(いまさら) つまり洋ボカロということです。曲の雰囲気はEDMっぽい2ですね。 ちゃんと聞き始めたのはここ数日なので、しばらくは再生リスト作りに励むことになりますね…。


  1. といっても3万曲くらいあるからな…

  2. 語れるほど詳しくないが…

(R) fsパッケージでpathまわりを使いこなしたい (2回目)

fsパッケージのpathまわりの関数の話の続き

前回の続き。

niszet.hatenablog.com

path_home(), path_home_r()

path_expand()path_expand_r()~を展開したファイルパスを返してくれましたが、これは引数無しならホームディレクトリを、引数があればその階層構造を示したファイルパスを絶対パスで返します。

path_home("aaa", "bbb", "ccc")
#> C:/Users/niszet/aaa/bbb/ccc
path_home_r("aaa", "bbb", "ccc")
#> C:/Users/niszet/Documents/aaa/bbb/ccc

path_join()

与えられた文字列を"/"で結合してパスを返してくれます。与える文字列はc()でベクトルとして渡す必要がある。

path_join(c("aaa/bbb", "ccc", "ddd"))
#> aaa/bbb/ccc/ddd

path_norm()

連続した/と末尾の/を取り除き、や...を解釈してスッキリしたファイルパスをfs_pathオブジェクトとして返してくれる。連続した/path()でも削除してくれる。

path_norm("hoge/..//.///fuga/")
#> fuga
path("hoge/..//.///fuga/")
#> hoge/.././fuga

path_package()

インストールしたパッケージのファイルパスを返してくれる。

path_package("base")
#> C:/PROGRA~1/R/R-35~1.1/library/base

path_real()

シンボリックリンクがある場合、それのリンク先(実体の方)のパスを返してくれる

## a/ ディレクトリを作成
#> dir_create("a")

## aの下にbというファイルを作成
#> file_create("a/b")

## cという名前でaに対してシンボリックリンクを作成
#> link_create(path_abs("a"), "c")

## cの下のb
path("c/b")
#> c/b

# path_realでシンボリックリンクのリンク先のパスが返ってくる
path_real("c/b")
#> C:/Users/niszet/Documents/r work/test4blog/a/b

path_rel()

相対パスを返す。どこからの相対パスにするかはstart引数で制御。デフォルトはカレントディレクトリ(.)

fs::path_rel(path = "C:/hoge", start = ".") 
#> ../../../../../hoge

path_sanitize()

WindowsLinux上で問題になりそうな文字列を削除してくれる。動きは下記のページに書かれている"Details"を読むと良さそう。 www.npmjs.com

ただ、/も消されるのはそういう動きで良いのだろうか…?本家?もその動きだから良いのかな。

path_sanitize("a/../b")
#> [1] "a..b"

path_split()

与えられたパスを"/"で分離する。戻り値はリストになる。

path_split(c("aaa/bbb/ccc", "ddd/eee/fff"))
[[1]]
[1] "aaa" "bbb" "ccc"

[[2]]
[1] "ddd" "eee" "fff"

path_temp()

一時ディレクトリを作成する。file_temp()で一時ファイルを作るとこのdirの下にできるようだ。中間ファイルとかで作業dirを汚したくない時などに使いやすそうですね。

path_temp()
#> C:/Users/niszet/AppData/Local/Temp/RtmpWexlCk

## 実際に存在することを確認
file_exists("C:/Users/niszet/AppData/Local/Temp/RtmpWexlCk")
#> C:/Users/niszet/AppData/Local/Temp/RtmpWexlCk 
#>                                          TRUE 
## 
path_temp("hoge")
#> C:/Users/niszet/AppData/Local/Temp/RtmpWexlCk/hoge

path_tidy()

untidyなパスの表記をtidyにしてくれる。階層の区切り文字は"/"で、末尾には"/"がつかない。path_real()path_norm()のような処理はせずに、tidyなpath表記にしてくれるだけ。

path_tidy("aaa\\bbb///ccc/../../")
#> aaa/bbb/ccc/../..

ということで、一応これでpath_**の関数たちを列挙できました。

Enjoy!!