ハムスターに飼われる院生のブログ

自分用メモが中心のブログです。

業務効率化の小技

IME辞書の単語/用例の登録で以下の変換を登録したところ スムーズになったのでメモ読み:ふぉr 語句: for (int i = 0; i こうすれば、ふぉrと入力して変換するだけで、for文を書くことができる。

バッチファイルで2重ループ

バッチファイルで2重ループを作成する時のメモ。 C++等と同じ要領で2重ループを作成しても動かなかったので、 以下に示すコードで2重ループを作成した。一つ目のループの中でDoCalcを呼び出すことで解決した。 @echo off @setlocal enabledelayedexpansion f…

mapの使用例

C++

map使用の具体例として、最小値のキーに対応する要素を得る関数を以下に示す。 insertを使用するとキーの値に応じて自動でソートされるため便利。 #include <map> #include <iostream> using namespace std; int map_test() { map<int, int> test; map<int, int>::iterator itr=test.begin(); te</int,></int,></iostream></map>…

引数の値を計算結果のファイル名にして計算を実行する

表題の通りのバッチファイルを作成したので書きとめておく。 出力用のファイル名を変えて勝手に出力ファイルを作成できるようにした。コマンドライン引数をとるtest.exeという実行ファイルに 0~5の引数を与えて実行する場合の例を示す。 なお、test.exeは実…

t検定のp値を変数に格納する

R

dataの1列目と2列目についてt検定を行う場合、 t.test(data[,1],data[,2],var.equal=T) このように書くと、結果がコンソール上に表示される。 しかし、検定結果のp値によってその後の処理を変えたい場合など、p値を変数に格納したい場合がある。 その場合は…

引数を変えながら並列に計算を実行するバッチ

5計算ずつ並列にし、計100パターン実行したい場合を考える。以下のようにbatファイルを書くと実行することができる。 まず親バッチを以下に示す。 @echo off @setlocal enabledelayedexpansion for /l %%i in (0,5,100) do ( call son.bat %%i ) pause 子バ…

乱数シードを変えてプログラムを繰り返し実行する

乱数シードを少しずつ変えてプログラムを繰り返し実行する時用のメモ。C++とbatファイルに関する話。メイン関数自体に引数を渡すようし、batファイルで異なる引数を与えることで実現させる。乱数のシードをコマンドラインから与えられるようにするため、main…

連番でないtxtファイルをRで読み込む

R

連番でないtxtファイルをRで読み込むスクリプトの紹介。txtファイルすべてに対して処理を行いたいときに使用する。 連番でファイル名をつけようとしたが失敗したので作成した。 #ファイルをfilesの要素となるように代入 files <- list.files() #filesの何番…

EigenのVectorXiをメンバ変数にする

C++

C++の話。 EigenのVectorをメンバ変数とする場合に 一手間必要だったためメモ。EIGEN_MAKE_ALIGNED_OPERATOR_NEW の一文をpublicに入れる必要があった。MyClassというクラスにて、VectorXi をメンバ変数として使用する場合の例を以下に示す。まずはヘッダフ…

ディレクトリを作成しファイル出力する

今回は、new_folderというディレクトリ中に writing, test と10行書き込むプログラムを示す。 出力ファイル名はoutput.txtとした。 # -*- coding: utf-8 -*- import os def make_dir_and_file(folder_name, filename): folder = folder_name+'/' path = fold…

pythonでスタック情報を表示させる

スタック情報を開示させるプログラムについて述べる。どこでスタックしたかを分かりやすく表示すれば、 デバッグにかける時間を短縮できる。このような枠組みを作り、処理内容をmain()に書く。 def main(): #処理したい内容を書く print("This is the main f…

指定した行数だけRで読み込む

R

今、test.txtというテキストファイルの2行目から3行目までを読み込みたいとする。 data<-read.table("test.txt",sep=",",skip=1,nrows=2) このように書けば、1行目は飛ばして(skip=1)、そこから2行(nrows=2)のデータを読むことができる。 <test.txtの中身>…

Anacondaにpythonのモジュールを入れる4ステップ

Anacondaにpythonのモジュールを入れる方法を簡潔に述べる。なお、モジュールのインストール先がrootならば、②③は不要である。 ①anaconda prompt を起動する コマンドプロンプトではないことに注意 ②anaconda promptに conda info --envs と入力する 仮想環…

業務効率化の一覧

私の一日の作業の大半はPC作業であるから、PC作業の高速化の話が多いかもしれない。 これまでに私が実行した方法を効果と手間の観点から分類し、リストアップする。 効果:大 手間:大 ライフログを取り、生活の無駄を把握、削減する 早寝早起きを習慣化する…

pandasでcsvファイルを読み込んでnumpyのarrayに入れる

pythonでcsvファイルを読み込んでnparrayに入れるためのサンプルコードを以下に述べる。なお、python2.7を用いているので、python3系とは異なる部分があるかもしれない。 import pandas as pdimport numpy as np data= pd.read_csv('readme.csv',sep=",")#ty…

C++デバッグ時によく使う小技

C++

デバッグモードで実行した場合のみ実行されるようにするには以下のようにする。 #ifdef _DEBUGcout<<"デバッグモードでのみ実行される"<

特異値分解の意味

行列Aを特異値分解したとすると となる。この分解後の行列はそれぞれ 左特異ベクトル:軸変換 特異ベクトル:軸に沿った伸縮 右特異ベクトル:軸変換 を行う行列とも考えることができる。この中で、の成分のうち、十分に小さい項を0として近似することで、 …

指数行列とテーラー展開

指数行列とは、 (ここで、Hが行列) のようなものを指す。これをテーラー展開すれば、 となる。ここで、 のように、行列部分が負であるような指数行列を考える。 このような場合、テーラー展開すると、 プラスの項とマイナスの項が交互に出てくる。したがって…

LabelSpreadingについて

pythonのsklearnで実装できるLabelSpreadingに興味を持ったので、分かったことを書く。 基本的には http://papers.nips.cc/paper/2506-learning-with-local-and-global-consistency.pdf に載っている。 超概要 各データをノードとしてエッジでつなぎ、分類の…

はじめに

ブログを始めた。 作成したコード等の忘備録として使う予定でいる。 現在の主な使用言語はC++、python、Rなど。