投稿

8月, 2017の投稿を表示しています

Julia の Dataframes の列名で、正規表現が使えるRの "grep" をする方法

julia には、R の grep と同じ働きをするコマンドはありません。 結論の定義を書きます。ブロードキャスト "." というのを使って、contains.(), または、ismatch.() して、true を、find() で探せば良いです。"set" を、iris という Dataframe の :Species という列 (column) から探します。 find(contains.(iris[:Species] , "set")) または、 find(ismatch.(r"set" , iris[:Species])) 恐らく、これが関数を使った記載で、回帰的に書かない、シンプルな記載ではないかと考えます。r" " というのは、正規表現のマクロだそうです。contain() か、ismatch() の使い方と、find() の組合せなので、下記より覚えやすいと思います。 以下は、昔、がんばって書いた分です。参考になる人がいたら幸いです。Dataframes の列名で、grep する関数を定義しました。 function grep(word, array) foo = find(ismatch(Regex(word), x) for x in array) return foo end 注 word には、"" で、単語の一部などを入れて下さい。array は、下記の iris の例なら iris[:Species] を入れます。順番は、R の grep の順にしました。 正規表現で探したい場合は、word の部分を r"" で入力して下さい。例えば、Regex(r"hoge$") は、r"hoge$" を返しので動くはずです。 [ismatch(Regex(word), x) for x in array] だけなら、true or false の Bool で返ります。これを find() の中に入れると、true のある番号を返してくれます。Bool の方が良ければ、foo = [ismatch(Regex(word),...

julia の pyplot で、ヒストグラムを描くの方法

イメージ
julia の pyplot では、 matplotlib.pyplot.hist() が動きません。 PyPlot.plt[:hist]() と、するのだそうです。 例 using PyPlot, PyCall dist_example = rand(100) PyPlot.plt[:hist](dist_example) # 10個の柱で描きたいとき PyPlot.plt[:hist](dist_example,10) ちなみに、X軸などの方向を変えて軸目盛を表示する時は、上記に続けて、 plt[:xticks]([0,0.5,1], rotation=30) などとします。[ ] 内は、自分が書きたい数字だけ入れたら、自動で調節してくれます。 ちなみに、seaborn は、ほとんどそのまま動きます。 using PyPlot, PyCall @pyimport seaborn as sns dist_example = rand(100) sns.distplot(dist_example, kde=false, color="b") seaborn のヒストグラムを10本にしたい時は、bins=10 を記載です。 using PyPlot, PyCall @pyimport seaborn as sns dist_example = rand(100) sns.distplot(dist_example, kde=false, color="b", bins=10) ただし、seaborn のヒストグラムは日付は、にがてなようです。

atom の vim-mode-plus のカーソルの色を濃くして、点滅にするのスタイルシート

atom で、 vim-mode-plus を有効にして、Base16 Ocean Dark などのテーマの場合、カーソルが薄く感じます。白で良いので、濃くして、点滅してもらいましょう。(老眼かな?) 画面左上の atom > スタイルシート... と、いうのを選ぶと、styles.less が編集できるようになります。ここに、下記をコピー&ペーストします。 atom-text-editor.vim-mode-plus.normal-mode, atom-text-editor.vim-mode-plus.operator-pending-mode, atom-text-editor.vim-mode-plus.visual-mode { &.is-focused { & // shadow-DOM disabled { .cursor { background-color: rgb(255, 255, 255) ; opacity: 0.8 ; } .blink-off .cursor { background-color: rgb(255, 255, 255) ; opacity: 0.1 ; } } } } 長いし、括弧もいっぱいです。どこかひとつはずすと、上手く働かないようです。 点滅カーソルがお嫌いなら、2回目の "opacity: 0.1 ;" を、1回目と揃えましょう。点滅するけど、点滅しないように見えます。 "opacity:" を書かないと、濃くすることができない仕様のようです。もっと濃い方が良い方は、1回目の "opacity: 0.8 ;" を 1 などにしましょう。 @exy81さんのQiita 参考です。

atom のマウスでの選択部分のハイライト色を変更する。

atom で、マウスなどで領域選択をしたところが、黒背景だと薄すぎて見えにくいので、より見やすい薄黄色に変更する方法です。 画面左上の atom > スタイルシート... と、いうのを選ぶと、styles.less が編集できるようになります。 ここに、下記を描きます。なぜだか、はじめの1行がないと変更が反映されません。highlight-selected パッケージの使用に問題があるのかもしれませんが、理由は判りません。しかし、今は、これで上手くいきます。 .gutter .cursor-line { } .highlights { .selection .region { background: fade(yellow, 20%); } } ちなみに、以下の括弧内に、上記を書くと、エラーが出るやら、なんやらで、設定が有効になりません。 atom-text-editor, atom-text-editor::shadow { } atom-text-editor::shadow { } atom-text-editor.editor { } さらに、.gutter .cursor-line { } の括弧内には、何を書いても、下の background: fade(yellow, 20%) の設定にもっていかれます。そこで、ひらきなおって、空欄です。理由などは、理解していませんが、これで、今は使用に絶えますし、変更なしの薄いハイライトよりも、ずっと良いです。

ターミナルから、Dictionary.app を使おう

MacOS X の標準搭載ソフトであるところの Dictionary.app をターミナルから使いましょう。標準搭載ソフトでありながら Dictionary.app は、かなりの金額の辞書が含まれています。意外に思う方は、ターミナルに下記のコマンドを入れて、辞書を立ち上げて、画面右上の辞書から、「設定」を開いてみましょう。 open -a Dictionary もちろん、アプリケーションフォルダーにいるソフトですから、ダブルクリックで開いても良いですよ。たぶん、この Dictionary.app の真価は、設定で自分が使う可能性がある辞書を活性化させて得られるものかもしれません。英語辞書がものすごく充実しています。 さて、本題に入りましょう。表示項目が多いので、ターミナル内での表示には向きませんが、専用ウインドウで、ターミナルからこの辞書を使えます。2つの使い方があります。 ひとつ目は、ターミナル内の単語を反転させて、右クリックで、""OX"を調べる"というのから使えます。吹き出しで出てくるのが、Dictionary.app の検索結果です。 ふたつ目は、ターミナルから単語を入れて、検索結果を Dictionary.app のウインドウで表示させる方法です。これは、次のようにします。 open dict://ここに調べたい単語を書く 例えば「辞書」という単語を調べたいときは、次のようにします。 open dict://辞書 .bashrc や .zshrc に、エイリアスを記載する場合は、 dict () { open dict:///"$@" ; } と、すると dict に続いて単語を入れると窓が開くようになります。

atom の括弧のハイライト色を変更する

対になる `(){}[]` をハイライトしてくれる bracket-matcher の色を変更する方法です。 黒地のバックだと、bracket-matcher のひかえ目なハイライトは、目立ちません。 bracket-matcher の UI からの設定では、ハイライトのカスタマイズはありません。 MacOS X だと、画面左上の atom > スタイルシート... と、いうのを選ぶと、styles.less が編集できるようになります。この styles.less は、~/.atom/styles.less です。このスタイルシートに、以下のような宣言を記載します。 .bracket-matcher { border-bottom: 1px solid lime; position: absolute; border: 1px solid rgba(255, 255, 255, 1); background-color: rgba(105, 79, 145, 1); }:read-write border が縁の色で、background-color が、ハイライトの中の色です。RGB に続いて4番目の数字は(不)透明度です。

MacVim で、単語単位で画面端で折り返す設定

MacVim で、文章を読みたい時に、単語を切らずに折り返し表示してほしいことがあります。 :set lbr! で、良いようです。.vimrc や .gvimrc に記載でデフォルト設定にするも良いでしょう。 vim 系で文章を開く利点は、"/" での検索と、指1本の移動と、背景色等です。 欠点は、行末や、折り返した行のカーソル移動が、vi 系の動きで、textedit.app とは異なるってところでしょう。 余談ですが、基本は、atom 使いになっています。MacVim を併用の利点は、atom のファイル履歴を崩したくないので便利です。なお、open -a MacVim に続くファイル名でも、zsh の設定によっては、タブ補完が効きます。.zshrc などの編集などにも便利です。最近は、長いテキスト形式が、textedit.app で開くのが著しく遅いことがあるので、MacVim 意外と使っています。