タグ

ブックマーク / heavywatal.github.io (6)

  • C++高速化

    はじめに 速いプログラムで得られるメリットを超えるようなコストを払わないように。 まずは動くプログラムを書いて目的を達成することが大事。 自分律速じゃなくてプログラム律速だなと感じた段階でリファクタリングを考える。 プログラム来の意図が読み取れなくなりそうなマニアックな高速化は避ける。 清く正しくメンテナンスしやすいプログラムを書くほうが結局は生産的。 学習目的でない限り、車輪の再発明を避ける。 やろうとしていることはきっと既に誰かが実現し、 再利用可能な形で公開してくれているはず。 まずは標準ライブラリとかBoostを探してみる。 あとGitHubでスターが多いやつとか。 頑張れコンパイラ Intelの icc でビルドされたプログラムは速いらしい。 gcc や clang の最適化技術も着々と進歩しており、 新しいコンパイラを使うほうがその恩恵を受けられる。 最適化オプション htt

    C++高速化
  • ggplot2: きれいなグラフを簡単に合理的に

    “The Grammer of Graphics” という体系に基づいて設計されたパッケージ。 単にいろんなグラフを「描ける」だけじゃなく「一貫性のある文法で合理的に描ける」。 Rのグラフ描画システムにはgraphicsとgridの2つが存在しており、 R標準のboxplot()やhist()などは前者の上に、 項で扱うggplot2は後者の上に成り立っている。 使い方が全く異なるので、前者を知らずにいきなりggplot2から始めても大丈夫。 tidyverse に含まれているので、 install.packages("tidyverse") で一括インストール、 library(tidyverse) で一括ロード。 初学者向け講義資料2024 https://ggplot2.tidyverse.org https://r-graphics.org/ https://r4ds.hadle

    ggplot2: きれいなグラフを簡単に合理的に
    abrahamcow
    abrahamcow 2017/02/19
    cowplot
  • Heavy Watal

    岩嵜 航 東北大学 生命科学研究科 進化ゲノミクス分野 牧野研究室 特任助教 Watal M. Iwasaki, PhD Project Assistant Professor in Laboratory of Evolutionary Genomics, Graduate School of Life Sciences, Tohoku University Address 980-8578 仙台市青葉区荒巻字青葉6-3 東北大学 理学部生物棟 Biology bldg., Tohoku University, Aramaki Aoba 6-3, Sendai, 980-8578, Japan +81-22-795-6693 Contacts heavywatalあgmail.com Read More

    Heavy Watal
  • dplyr: 高速data.frame処理

    data.frameに対して抽出(select, filter)、部分的変更(mutate)、要約(summarize)、ソート(arrange)などの処理を施すためのパッケージ。 前作plyrのうちdata.frameに関する部分が強化されている。 purrr や tidyr と一緒に使うとよい。 tidyverse に含まれているので、 install.packages("tidyverse") で一括インストール、 library(tidyverse) で一括ロード。 https://r4ds.hadley.nz/data-transform.html https://github.com/tidyverse/dplyr パイプ演算子 |> による関数の連結 x |> f(a, b) は f(x, a, b) と等価。 左の値 x を第一引数として右の関数 f() に渡す。 一時変数

    dplyr: 高速data.frame処理
  • tidyr: シンプルなデータ変形ツール

    data.frameを縦長・横広・入れ子に変形・整形するためのツール。 dplyr や purrr と一緒に使うとよい。 reshape2 を置き換えるべく再設計された改良版。 tidyverse に含まれているので、 install.packages("tidyverse") で一括インストール、 library(tidyverse) で一括ロード。 https://r4ds.hadley.nz/data-tidy.html https://github.com/tidyverse/tidyr vignette("tidy-data") demo(package = "tidyr") https://speakerdeck.com/yutannihilation/tidyr-pivot パイプ演算子 |> についてはdplyrを参照。 Pivoting: 縦長 ↔ 横広 https://

    tidyr: シンプルなデータ変形ツール
    abrahamcow
    abrahamcow 2014/09/25
  • stringr: Rの文字列をまともな方法で処理する

    R標準のbaseパッケージが提供する関数でも文字列処理は可能だが、 stringrのほうが統一的なインターフェイスに合理的な挙動で使いやすい。 factor と character を同じように扱う 引数オブジェクトの各要素の名前や位置を保持する 長さゼロのオブジェクトを引数として与えた場合には長さゼロの結果を返す 引数オブジェクトに NA が含まれる場合はその部分の結果を NA とする 対象文字列が一貫して第一引数で、パターンが二番目 何をやる関数なのか名前から分かりやすい (標準が覚えにくすぎ: grep, grepl, regexpr, gregexpr, regexec) ICU4C (via stringi) を使って動くため高速 ICU正規表現 の仕様が明確 今や stringr は stringi のラッパーだし、 どちらもほぼ同じインターフェイスなので、 もし前者に不足があ

    stringr: Rの文字列をまともな方法で処理する
    abrahamcow
    abrahamcow 2014/08/14
  • 1