chevron_left

メインカテゴリーを選択しなおす

cancel
arrow_drop_down
  • R言語/Webスクレイピングで、Google サーチ / Google scholar経由で見つかったPDFファイルを自動ダウンロードしてみた件

    Webスクレイピングとは、Webサイトから情報を抽出して、その情報を格納・分析可能な構造化データへと変換する技術を意味するようだ*1。 本記事では、RからWebスクレイピングで、 キーワード検索してヒットしたURLやPDFファイルを自動取得する方法を紹介します。 普段から、Googleサーチで情報検索したり、 論文や文献のPDFファイルを探したりしているのではないかと思います。 ユーザーの検索履歴などがトラッキングされ、 それに合わせて情報が提示される昨今、、、 もう、Googleサーチですら面倒だと思いませんか。 まぁ、少し譲歩して、 「R上から検索語を入れて数十ファイルをダウンロードできる…

  • 【Macの定期メンテナンス】Finderのクイックルック機能、GUIでのファイル・フォルダ移動が遅くなり始めたら、結局これをやること。。

    Mac歴が12年以上となるが、Mac PC内の定期メンテナンスは、過去のOSバージョンからも悩ましい問題である。 過去には、ディスクユーティリティをいじってみたり、 ファイルのセグメント化を直してみたりと、 いろいろと試したが、結局あまり効果がない。 Macが遅くなる原因の1つとしては、以前にも取り上げた、 「Spotlight のインデクスを作成するプロセス」があるのだが、 それだけではあまり変わらない場合がある。 skume.hatenablog.com MacOSで見えている部分、GUI動作のほとんど、 例えば、デスクトップ画面やツールバーの表示、ファイル・フォルダの移動・表示・管理など…

  • 【Mac版】wgetでGoogle DriveからファイルをダウンロードするTips〜フォルダの共通設定からwgetコマンド実行まで〜

    最近、データを置いておくのに良さそうな公共リポジトリが見つからず、 やっぱ、Google Driveを使うのが無難かなと思いだしたので、その関連記事を書いてみた。 今回、Google Driveをデータリポジトリとして、データを公開して、 コマンドラインでそのデータをダウンロードするやり方を扱うことにする。 また、後半部分で、wgetコマンドを使用するので、以前の記事を参考にセットアップのこと。 skume.hatenablog.com もくじ テストファイルの生成 Google Driveの共通フォルダ設定・ファイルアップロード ファイルURLの取得・書き換え wgetでのファイル・ダウンロ…

  • 【Rのジミ〜な小技シリーズ】空リストの作成とリスト操作、それと空ベクトルを使ったベクトル結合とデータフレーム結合のトピックスを扱う

    またもや、ジミーなトピックであるが、空リストlist()と空ベクトルc()について取り上げてみる。 こういうジミーな技術の積み重ねがスキル向上に繋がるんだと思うんけどね。 今回の内容 空リストlist()からリストを作成する 空ベクトルc()からベクトルを作成する 空ベクトルc()からデータフレームを作成する %%EF%BC%88%E3%83%91%E3%82%A4%E3%83%97%E6%BC%94%E7%AE%97%E5%AD%90%E3%81%82%E3%82%8B%E3%81%84%E3%81%AF%E5%8D%98%E3%81%AB%E3%83%91%E3%82%A4%E3%83%9…

  • 【Rのジミ〜な小技シリーズ】データ解析の前処理で悩まされるデータ重複の問題を扱ってみた件

    本記事は、 skume.hatenablog.com の続編である。 さて、これからデータ解析を始めようかという時に、まずやることは該当データのクオリティチェック(品質評価)だろう。 クオリティチェックと言っても、いろいろな方法・考え方があって、データによって様々である。 今回は、最も基本である、データ重複の問題を扱ってみる。 今回の内容 練習データの準備 ベクトル内で、データの重複があるかどうか?・重複をどう扱うか? 2つのベクトル間で、データの重複があるかどうか?・重複をどう扱うか? データフレーム内で、データの重複があるかどうか?・重複をどう扱うか? まとめ 参考資料 練習データの準備 …

  • バーチャルスライドスキャナー画像(.ndpi)からオリジナルTIFFイメージを取り出す際のTips〜ギガバイトイメージの画像解析入門〜

    今回、バーチャルスライドスキャナー画像(.ndpi)の取り扱い方を取り上げる。 .ndpiという画像フォーマットは、浜松ホトニクス社が提供するHamamatsu formatの1つである。 NDPIファイルは「独自メタデータを持つシングルファイルTIFF-likeな形式」であり、一般的によく使われるTIFFとかPNGと比べて、なかなか扱いにくい形式である。 また、TIFF-like形式というのは実際、Compress TIFF 形式で格納されていて、ImageJではその形式に対応したプラグインを導入する必要がある。 今回の内容 NDPIToolsのセットアップ NDPIテストファイルのダウンロ…

  • R言語で実行するSudachiPyによる日本語形態素解析

    SudachiPyは、日本語形態素解析器SudachiのPython版である。 今回、R/RStudio上でのSudachiPyの実行例を概説する。 個人的には、RユーザーにとってPythonパッケージがR環境上で実行できると、いろいろと良いのでは考えている*1。 例の如く、HomeBrewでPythonの環境構築を行う。 skume.hatenablog.com 今回の内容 実行環境 SudachiPyのデフォルト・インストール Sudachi 辞書 fullの設定 R上でのコマンドライン版sudachipyの実行 R上でのPythonパッケージ版sudachipyの実行 自作関数Sudac…

  • Mac版Dockerで、rocker/rstudio (= RStudio Server Docker Image)をトラブルフリーでセットアップしてみた件

    過去の記事で、「【macOS X編】 Homebrewで、RStudio Serverをインストールしてみた件 + nginx設定」を紹介した。 現状、MacローカルでのRstudio Server動作について、 バージョン・アップ等の問題で*1、少々動作が不安定な場合がある。 そのため、ローカル環境で構築せずに、Docker/Rocker を使用することを推奨する。 skume.hatenablog.com Dockerとは、ホストマシンのカーネルを利用して、コンテナ型の仮想環境を作成、配布、実行するための実行環境である。 概要として、環境構築済みのDockerイメージ(= コンテナを起動さ…

  • 【Rのジミ〜な小技シリーズ】ベクトルに「含まれる」「含まれない」要素の取り出し、論理値について

    ある数値・文字列が、こっちのベクトルにも含まれるのか、何番目に出現するのか等を考えると、しばしば悩ましい状況がある。 このような、ベクトル間の関係性を調べる方法を紹介する。 (1)あるベクトルから他ベクトルに「含まれる要素」あるいは「含まれない要素」を抽出する方法 例1: 共通に含まれている要素を取り出す あるベクトルから他ベクトルに含まれる要素(共通要素)の抽出を実行する。 x <- c(1, 2, 3, 4, 5) y <- c(4, 5, 6, 7, 8) # x を基準にする場合 a <- x %in% y a #[1] FALSE FALSE FALSE TRUE TRUE x0 <…

  • Macで、mds_storesのプロセスを消し出したら、Spotlightとの決別のサインかも!?

    mds_store というMacのプロセスは、Spotlight のインデクスを作成するプロセスである。これに加えて、mdworkerというプロセスもあり、これらのプロセスが頑張って、Macのファイル検索システムであるSpotlight関連の機能を実現している。 知らず知らずのうちに、mdsプロセスたちが動き出すと、CPU使用率を結構消費するうえに、Mac本体の温度上昇も半端ない。 私の場合、mds_storeが動き出したと気づけば、即座に、アクティビティモニターでプロセスの息の根を止めていた。 ただ、mdsプロセスはしぶとくすぐに復活してくる。。。 mds_storesに対するイライラが域値…

  • Rのどぎついレインボー・カラーを和らげて、使える色へと変換するTipsについて

    楽なので、Rのplot()時に、レインボー色(grDevices::rainbow)を使うんだけど、 お世辞にも良い色とは言えず、ドギツイ色を使うねと周囲から言われる。 今回、それを挽回するために、そのレインボー色を和らげる方法を紹介する。 rainbow関数では、16進数で表される「カラーコード」*1 + 透明度が出力される。 そのため、透明度の設定を変更すると、程良いレインボー・カラーにすることができる。 例えば、grDevices::rainbow(10)の出力結果は、次のようになる。 grDevices::rainbow(10) [1] "#FF0000FF" "#FF9900FF" …

  • 時々にしたくなる、Rの古いバージョンのパッケージ(The previous version packages)をインストールする件

    Rを使っていると、稀に、パッケージのバージョン違いで問題が起こる。 そのとき、以前のバージョンのパッケージをインストールする必要がでてくる。 以前のバージョンをインストールする場合には、まず、CRANのパッケージのページにいく。 例えば、psychパッケージだと、以下のURLになる。 https://cran.r-project.org/web/packages/psych/index.html そこで、Downloads:にある、psych archiveをクリックして、アーカイブのページにはいる。 そこのアーカイブのなかから、必要なバージョンを探す。 ここでは、1つ前のバージョン 1.9.…

  • grepコマンドで文字列処理をやってみた件【その2】検索語のヒット数カウントとか検索語の前後文字の抽出とか色々

    「grepコマンドによる文字列処理をやってみた」の続編である。 以前扱えていなかった内容をやっていきたい。 grepコマンドの基本については過去の記事を参照のこと。 skume.hatenablog.com skume.hatenablog.com まずは、サンプルデータをダウンロードする $ svn export https://github.com/kumeS/Blog/trunk/grep_practice_02 $ cd ./grep_practice_02 # test.txtを使っていく。 $ cat test.txt #abcde #ABCDE # #abcdefghijklmn…

  • PubMed API と googletrans を使って、PubMed掲載論文のAbstract和訳をRでやってみた件

    論文のトレンド解析であったり、個別の論文情報、主に要旨(Abstract)を取得してみた。 もう少し発展させて、Abstractの英文テキストの和訳をして、Rmarkdownのレポート作成するまでをやってみた。 今回扱う、RISmed パッケージは、PubMedを含むNational Center for Biotechnology Information (NCBI: アメリカ国立生物工学情報センター)のデータベースから論文情報を抽出するためのツール群である*1。 また、Abstractのテキスト和訳には、以前の記事で紹介した、Pythonの googletrans ライブラリを使用する。 …

  • R/Keras/TensorFlowでやる『ディープラーニング(Deep Learning)』のすゝめ【2】教師なしニューラルネットワーク Autoencoder with 2D CNNの実装、そして色ムラ・ノイズ除去(Denoising)をやってみた件

    「R/Keras/TensorFlowでやるディープラーニングのすゝめ」の連載2回目です。 【1】では、ベクトルデータに対する Autoencoderを取り上げたが、 今回は、 2D Convolutional Neural Network (CNN: 畳み込みニューラルネットワーク) を使ったAutoencoderの実装について紹介する。 下記で登場する、CNN、Maxプーリング、Upサンプリング、活性化関数 などについては、すでに多くの分かりやすい説明記事があるので、そちらを参照のこと。 qiita.com deepage.net qiita.com kansiho.hatenablog.…

  • Rの「reticulate」を使えば、Pythonライブラリがインポート・実行できる。そして、R上で「googletrans」を用いた日英翻訳をやってみた件

    Rの reticulateパッケージは、Python と R の連携性を高めるツール群である*1。 つまりは、Rセッション内でPythonのスクリプトやライブラリをインポートして、シームレスにPythonコードを実行できるなど、RからPythonを呼び出すことができる。 また、RとPythonのオブジェクト間の変換も可能である(Ex. R データフレーム <=> Pandas)。 reticulate::importを使用して、R上で、googletransライブラリを読み込んで、日=>英翻訳、戻し翻訳をおこってみる。 googletransライブラリのメリット・デメリット Googletra…

  • R/Keras/TensorFlowでやる『ディープラーニング( Deep Learning )』のすゝめ【1】教師なしニューラルネットワークDeep Autoencoder のsimple modelをやってみた件

    Rで、ディープラーニング( Deep Learning )をやるというのが最近の活動である。 【1】では、教師なしニューラルネットワークであるAutoencoder(オートエンコーダー)のsimple modelを実装してみる。 Autoencoder は、Encoder(元データから低次元への変換層)とDecoder(低次元から元データに戻す変換層)からなるニューラルネットワークの特殊系の1つである。 Autoencoderでは、出力層で与える教師データを入力層としても与えることで、 入力層と出力層のユニットが同じとなる構造を持つ。 Autoencoderの開発は1980年代に遡り、Hint…

  • 10倍量のヨーグルトを作りながら、菌の増殖曲線を考えてみた件

    最近、ヨーグルト作りにハマっている。 種菌(いわゆる、0.1L 飲むヨーグルト)から、10倍量(1L)のヨーグルトを作っている。飲むヨーグルト1本は、だいたい100円くらいなので、10倍量で1000円となって、必要経費を引いても、だいたい700円弱お得である。また、ヨーグルトの酸味や固さを自分の好みにできる。 今回、「ガセリ菌を使った10倍量(1L)ヨーグルトの作製法」と「菌の増殖曲線」について検討したことを、実験ぽく紹介する*1。 10倍量ヨーグルト作製のマテリアル ガセリ菌の種菌(= 某メグミルク製のガセリ菌SP株の飲むヨーグルト) 培地(= 某メグミルク製の牛乳) グルコース(= 三温糖…

  • 【Mac】エクセルのセルをコピーして、クリップボードのまま、Rのread.tableでデータフレームとして直接読み込む時の方法

    今までほぼやってなかったけど、さっき使ってみて思いの外便利だったので、今後はこれを使いたいと強いメッセージを込めて、これのみでメモっておく。 まずは、エクセルの任意のセルを選択して、command + c でコピーする。 Rを起動して、以下のコマンドを打てば*1、クリップボードからデータのインポートができる。 ただし、途中で、command + c をもう一度打たないこと。癖で打ってしまいそうになる。。。 コピーしたセルがヘッダーを含む場合 Data <- read.table(pipe("pbpaste"), header=T, stringsAsFactors = F) Data # OR…

  • エクセルのセルをコピーして、クリップボードのまま、Rのread.tableで直接読み込む時の方法

    今までほぼやってなかったけど、さっき使ってみて思いの外便利だったので、今後はこれを使いたいと強いメッセージを込めて、これのみでメモっておく。 まずは、エクセルの任意のセルを選択して、command + c でコピーする。 Rを起動して、以下のコマンドを打てば((R4.0以降は大丈夫だが、stringsAsFactors = Fは念のためいれておくこと))、クリップボードからデータのインポートができる。 ただし、途中で、command + c をもう一度打たないこと。癖で打ってしまいそうになる。。。 コピーしたセルがヘッダーを含む場合 Data <- read.table(pipe("pbpas…

  • grepコマンドで文字列処理をしてみた件

    grepコマンドは、ある特定の文字列を含むものを取り出す・検索するときに使用する。 大別して、ファイル内のテキストに対してgrepを行うか、ファイル名に対してgrepを行うかでやり方が変わってくる。 やってることは単純だが、いろいろと応用できるので、今回まとめてみた。 練習用のファイル・フォルダを以下のコマンドでダウンロードできるようにしている。 #ダウンロード $ svn export https://github.com/kumeS/Blog/trunk/grep_practice #作業フォルダに移動 $ cd ./grep_practice ファイル内のテキストに対する処理 ある特定の…

  • Jupyterで、RとかPythonとかシェルとかのセットアップをするの巻

    Jupyter (ジュピター) は、対話型プログラミング用のブラウザ・インターフェイス と言えば良いのかな。PythonとかRとか、数十のプログラミング言語の動作環境として使えるのが魅力である。 大別して、Jupyter notebook と Jupyter lab という2種類のタイプがある。 個人的には、Jupyter lab のほうが若干見やすいというくらいの違いという印象である。 Jupyterのインストールと、いくつかの言語のセットアップ法についてメモしておく*1。 まずは、 ターミナルを立ち上げて、Macの実行環境確認 $ brew config HOMEBREW_VERSION:…

  • Macでの圧縮・解凍コマンドをメモっておく件

    よく使う割にいつもネットで調べるはめになるので、、 このタイミングで、Mac Terminalでの圧縮と解凍コマンドをメモっておく*1。 データ圧縮方式 / アーカイブ方式 .zip .tar .gz & .tar.gz & .tgz .bz2 & .tar.bz2 .tar.xz について、まとめてみた。 .zip について .zipは、Windowsでよく使用される、データ圧縮やアーカイブのフォーマットの1つである。 Macの場合、control + クリックで、「・・・を圧縮」という選択があって、zip圧縮できる。 ただ、zipコマンドでは、4GB以上のファイルが圧縮できないので、それ以…

  • 【R言語】データサイズ・行数が異なるテキストファイルにおけるファイル読み込み関数の速度比較

    最近、数GBを超えるテキストデータを扱うようになり、今更ながら、Rのファイル読み込み関数の速度比較について一度検討してみた。 今回、以下の3つのファイル読み込み関数について調査してみた。 utils::read.table関数 data.table::fread関数 readr::read_csv関数 もくじ opensslコマンドを用いた、ランダム文字列の生成 echoとtrコマンドを用いた文字列の生成 seqコマンドを用いた連番数字の生成 検証用ファイルの生成 utils::read.table関数でのファイル読み込み data.table::fread関数でのファイル読み込み readr…

  • GitHub API( git & gist コマンド )の使い方入門

    GitHub は、ソフトウェア開発のプラットフォームである。また、ソフトウェア開発者のみならず、ソフトウェア・ユーザーにとっても、ほぼ必須といえる、コード共有のコミュニティでもある。 GitHubリポジトリにアクセスする際のAPIである git コマンド、手軽にコード公開・ファイル公開ができる gist サービスのAPI gist コマンドについて、それぞれのインストールから、実際の使い方までをまとめてみた。 GitHubは少しの間やらないと、すぐにコマンドを忘れてしまうのは困ったものだ、、、 実行環境 macOS Catalina (10.15.4) MacBook Pro (12-inch…

  • htmlwidgets for R のShowcaseにあるパッケージがCodePenでブログ表示できるかを調べた件

    htmlwidgets for R パッケージは、Rでインタラクティブな図が作成できる王道的なパッケージであり、それを使った色々な依存パッケージが開発されている。 www.htmlwidgets.org 今回、htmlwidgetsのshowcaseにある12パッケージをHatena Blog内の図表として表示するにあたって、(1)Html 出力の可否 、(2)CodePen対応できるか?、さらには(3)ブログ表示できるか?を調べてみた。 とりあえず、結果 パッケージ html output CodePen はてなブログ表示 Leaflet 473KB ◯ ◯ Dygraphs 574KB ◯…

  • Rパッケージ探索のための情報サイトをまとめてみた件 〜2020年版〜

    特に、パッケージユーザーとしては、Rパッケージの開発状況を定期的にフォローして、日常の解析作業にいち早く取り入れていくのが良いだろう。 Rパッケージを探索する際の一助となればと、参考となる情報サイトをまとめてみた。 CRAN系 CRAN Task Views 解析法ごとの専門的なレビューとともに、開発の歴史を含めて、Rパッケージが紹介されている。 例えば、Machine Learning & Statistical Learningというセッションでは、Rの機械学習パッケージ群やそれらの関係性がレビューされている。 cran.r-project.org The R Journal Rパッケージ…

  • Homebrew を使って、Python3をインストールしたときの設定諸々

    Anacondaは使わずに、 Homebrewでインストールして、Python3をPyhonコマンド、pip3をpipコマンドとして使う。IDEは重たくて使わないという、非Anaconda派に向けて。 私はPythonもRStudio派ですけど。 Homebrew でPython3をインストールする。 実行環境 macOS Catalina (10.15.4) MacBook Pro (12-inch, 2019, Four Thunderbolt 3 ports) 1. Homebrew で、Python3 をインストールする*1*2 $ brew install python これで完結す…

  • 【macOS X編】 Homebrewで、RStudio Serverをインストールしてみた件 + nginx設定

    RStudio Serverは、PCやサーバー上で動作する、R言語のブラウザベース・インターフェイス(ブラウザ型RStudio)である。 通常、クライアントPCで計算コストが高い作業をすると、当然PCが別作業で使えなくなる*1。 そこで別にPCやサーバーがネットワーク上にあれば、そちらで高負荷な計算を実行しておいて、手元のPCでは別作業できる環境が、RStudio Serverで簡単に作れてしまう。 RStudio Serverには、一般的なブラウザ(Chrome、Firefox、Safariとか)でアクセスできるので、RStudio Serverごとに別作業できたりする。 RStudio S…

  • 2020年版 無料かつ会員登録不要の『データ解析関連のオンライン講座』を調査した件【5/6更新】

    調査の背景 「ビッグデータの解析」「機械学習(ML)」「ディープラーニング(深層学習)」等々、テレビでもニュースでも溢れかえっている。というか、もうすでに飽き飽きしているかもしれない。 気づけば、巷には、様々な機能のモジュールのオープンソース化(TensorFlowとか)、Auto MLや自動化AIのソフトウェアといった、便利なツール群も充実してきて、実際、MLのことを深く知らずとも、簡単にMLのプログラムを書けて実行できる。。 これからのData Scientistは特段知識なくても、データ解析ができる*1。 ただし、基礎的なバックグラウンドがないと、間違った結果を導いたり、 既存の自動化処…

  • Mac grepコマンド で基本的なテキスト処理をまとめてみた件

    grep コマンドは、AppleのHPにファイル内の文字列を探すツールであると説明されているが、 grep コマンドを知ると、単に「文字列を探す」だけでなく、 いろいろな応用的な操作ができるようになる。 この記事では、Mac版 grepコマンド の基本的なテキスト処理をまとめてみた。 前準備 適当な作業フォルダを作成して、同フォルダ内に移動する。 $ mkdir TEST # TESTフォルダの作成 $ cd TEST # TESTフォルダへの移動 $ which grep # grepのパスを見ておく /usr/bin/grep サンプルテキスト(text.txt)をGitHubからダウンロ…

  • Homebrewで Java の特定バージョンをインストールするときのTips

    Homebrewのインストール・環境設定のやり方については以前の記事を参考にしてください。 skume.hatenablog.com Java について Javaは、クラスベースのオブジェクト指向の汎用プログラミング言語である。 現在、JavaはOracle社から配布されているが、 ダウンロードサイトがイマイチ分かりにくい。 また、オープンソース・バーションとしては、 2007年より、「OpenJDK」*1 としてGNUライセンス下でリリースされている*2。 Javaのバージョンが違うと、プログラムが動作しないことがある。ここで、問題となるのは、バージョン番号 と Java バージョン との対…

  • macOS用パッケージマネージャー Homebrewのやり方をいつも微妙に忘れてしまう件

    大学時代には、MacPortsを使っていたが、 ある後輩に勧められ、Homebrewを使うようになった。 特に、MacPortsがどうとかいうわけではないが、 それ以降、Macでのパッケージ・インストールは、Homebrew で行っている*1。 Homebrew は、macOS X用のパッケージ管理システムである。 macOS X用のメジャーなパッケージ管理システムには、Fink、MacPorts、Homebrewと3つある。 下表にまとめると、Homebrewが一番新しく、あと、Homebrew実行時には確かにRubyが走る。 管理システム リリース 言語 Fink 2000年 Perl M…

  • 以前つくった『IGOR Pro』スライド資料

    ブログのMarkdownを使う練習みたいな記事ですが、、、 私が以前使っていた、 IGOR Proとは、 Igor Pro(イゴール プロ)はWaveMetrics社のグラフ処理ソフト。高度なデータ解析、プログラミングツールをひとつに統合した科学者向けのアプリケーションである。 出典: https://ja.wikipedia.org/wiki/IGOR_Pro IGOR Proは、一連のデータ解析のプラットフォームとも言える。 当時、データ・モデルフィッティングやプロトンNMRの解析に主に使っていた。 当時、、学生版がすごく安価だったのも大きい*1。 IGORpro_basic_japane…

  • 久々に日常をまとめてみる

    フィリピン留学の時以来、13年ぶりくらいにブログを始める。 私事ながら、この4月に、ある国立研究所から大学に赴任した。 7年ぶりの大学での研究生活を楽しむのと、最近のパンデミックな情勢で、諸々の雑務がかなり少なくなった。 これも、ちょうど溜まった資料とかデータ解析メモとかをまとめていくチャンスなのかと思う。 一方で、論文執筆からの逃避行なのかもしれないけども、、、 いまさらながら、手持ちの資料やScriptとかをウェブ媒体にしておいた方が 自身のPC内カオスから探し出すよりも、よっぽど効率的というのもある。 こういう積み重ねで、この活動が論文執筆の一助となるとも期待したい。 使用しているPC環…

arrow_drop_down

ブログリーダー」を活用して、skさんをフォローしませんか?

ハンドル名
skさん
ブログタイトル
京橋のバイオインフォマティシャンの日常
フォロー
京橋のバイオインフォマティシャンの日常

にほんブログ村 カテゴリー一覧

商用