KyPlotのダウンロード!
私が院生時代、先輩に教えてもらっていた、KyPlotという美しい波形を作図できるソフトなんですが、研究者の夫に話したところ、「最近はみんなRで作図している」とのことで、もうRを勉強するしかないじゃないかと思っていました。
しかし、先日から論文執筆に挑戦していて、そこに掲載したい図をきれいに書く方法を試行錯誤している中で、KyPlotが無料で提供されていることを知りました!
もう、10年くらい使っていないので、忘れていることも多いのですが、ちょっとずつ思い出しながら使ってみようと思います(^^)
ここからすぐにダウンロードできました!
KyPlot 6.0のダウンロード – KyensLab Inc.
起動するとこんな画面が出てきます!
が、使い方が全然思い出せません笑
少し試行錯誤してみて、思い出して来たら、また改めて投稿する方が良さそうです笑
今日は、15時から会議なので、それまではこれに専念します!!
今日も頑張ります!!
Rでワードクラウド
本日、ワードクラウドに挑戦してみます。
質的データの扱い方がわからな過ぎて、アンケートの結果をワードクラウドでおしゃれに表示させようということです。
ワードクラウドでは、文章の中での出現頻度が高い単語が大きな文字で表示されます。
Rの勉強にもなりそうなので、ちょっと頑張ってみます(^^)
このブログを参考にしました。
[R] テキストマイニング~ワードクラウド~ - Qiita
普通は、これを見るだけで出来るんでしょうが、私はコードを書いたりとかの経験がないので、これだけ見てもよくわからないところがありまして、色んな人に聞いたりしながらちょっとずつ進めました。
1.サンプルデータの作成
まず最初に、サンプルデータを作ります。
私は、お化け屋敷から出てきた人からの感想を入力して、そのデータを使いました。
エクセルに入力していましたが、テキストデータにすると良いようなので、エクセルで入力したものをメモ帳にコピペして、テキストファイルを作りました。
お化け屋敷の感想のデータなので、「obake.text」というファイル名にしました。
2.前処理
前処理には、RMeCabパッケージを使います。
最初に、ここ↓でMeCabをダウンロードしておきます。
MeCab: Yet Another Part-of-Speech and Morphological Analyzer (taku910.github.io
ここまできたらいよいよRstudioでMeCabを使えるようにします。
Rを起動して以下を実行します。
```
install.packages("RMeCab", repos = "http://rmecab.jp/R")
```
これで、RMeCabがインストールされます。
次に、RMeCabを読み込むために以下を実行します。
```
library(RMeCab)
```
使えるようになったか確認するために以下を実行してみます。
```
library(RMeCab)
res <- RMeCabC("すもももももももものうち")
unlist (res)
```
すると以下のような結果が得られます。
名詞 助詞 名詞 助詞 名詞 助詞 名詞
"すもも" "も" "もも" "も" "もも" "の" "うち"
サンプルのtxtデータ「obake.text」をさっそくRMeCabで読み込んでみます。
以下のように入力し、「tm」と「magrittr」のパッケージをインストールします。
```
install.packages("tm")
install.packages("magrittr")
```
そして、この2つのパッケージを読み込みます。
```
library(tm)
library(magrittr)
```
そして、sampleという入れ物に、最初に作ったテキストファイル(obake.text)を読み込む作業をします。
```
sample <- VCorpus(DirSource(dir="local/"),readerControl=list(language="english"))
sample %<>% tm_map(stripWhitespace)#空白の削除
sample %<>% tm_map(removePunctuation)#記号の削除
sample %<>% tm_map(content_transformer(tolower))#大文字小文字統一
sample %<>% tm_map(removeWords,stopwords("english"))#ストップワードの削除
```
1行目でlocalというフォルダの中のテキストファイルをcorpusとして取り込む作業をしています。
2行目は、テキストファイルの中にある空白を削除する作業をしています。
3行目は、テキストファイルの中にある記号を削除します。
4行目は、大文字小文字を統一します。
5行目は、ストップワードを削除します。
今回の私のデータでは、2~5行目は入れなくてもよさそうですが、あっても困らないし、今後使うかもしれないので、メモしておきます。
読み込んだテキストファイルから、不要なもの(空白や記号などなど)を削除したりの作業ができたので、これを読み出します。
```
sample1 %>% as.character() %>% writeLines("obake_r.txt")
```
今度は、obake_r.textというタイトルにしてみます。
これは、R_practiceのファイルに保存されます。
(最初にRstudioを設定する時に、こうなるように設定しています。)
処理したobake_r.txtを改めてRMeCabで解析してみます。
以下の4つのパッケージを読み込みます。
```
library(RMeCab)
library(dplyr)
library(magrittr)
library(stringr)
```
インストールしていない場合は、読み込む前に以下を実行してインストールしておきます。
```
install.packages("RMeCab")
install.packages("dplyr")
install.packages("magrittr")
install.packages("stringr")
```
続いて、「obake_r.text」ファイルを読み込んで、品詞の抽出、数字や不要列の削除、出現頻度の集約、降順での並べ替えを行います。
```
sample <- RMeCabFreq("obake_r.txt")
sample_r1 <- sample %>% filter(Info1 %in% c("名詞", "形容詞")) %>%
filter(Info2 != "数") %>% select(Term, Freq) %>% group_by(Term) %>%
summarise(count = sum(Freq)) %>% ungroup() %>% arrange(desc(count))
```
3.ワードクラウドにしてみる
実は、ここからはめちゃ簡単です。
ここまでに、謎のエラーなどもあり、すごく時間がかかっちゃいましたが。。。
ここまできたらもう安心です!!
これをインストール!
```
>install.packages("devtools")
```
からの、読み込み!
```
library(devtools)
```
そして、wordcloud2をインストールします。
```
devtools::install_github("lchiffon/wordcloud2")
```
それでは、いきます!!
```
wordcloud2(sample_r1, size=1.6, color='random-light', backgroundColor="black")
```
でました。
怖くて楽しいお化け屋敷だったんですね(^^)
色んな形にできます。
> library(wordcloud2)
> wordcloud2(sample_r1, size=1.6, color='random-light', backgroundColor="black", shape ="star")
これ星ですが…あんまり意味ないですね(^_^;)
怖いと楽しいでかすぎ…。
好きな形にかたどることもできます。
library(wordcloud2)
wordcloud2(sample_r1, figPath = "C:/R_practice/139202.jpg", size = 1.5,color = 'random-light', backgroundColor="black")
139202.jpgというのは、適当に見つけたお化けの画像です。
この形にしたかったのですが…。
似てるけどちょっと違います。
どこか間違えてるのかな?
もう少し勉強の余地はありますが、必要最低限のことはできそうです。
今日もよく頑張りました(^^)笑
EEGLABでの脳波解析の流れ
最近、EEGLABを使って脳波解析をする流れについて勉強して、まとめていますが、とっても長いので、大まかな流れについてこちらでまとめておくことにしました。
1.脳波ファイルの作成
2.イベントファイルの作成
3.MATLABのダウンロード
4.EEGLABのダウンロード
5.MATLABでEEGLABを開く設定をする
6.脳波ファイルの読み込み
7.イベントファイルの読み込み
8.フィルタリング
9.電極の登録
10.エポッキング
今、ここまでできています。
この後、
11.エポックリジェクション
12.加算平均処理
と続きます。
12の加算平均処理までできたら、簡単な実験とかしてみて、きちんと解析できているか確認してみます(^^)/
今日も頑張ります♡
EEGLABで脳波解析に挑戦②
前回は、eeglabを起動して、脳波データを読み込むところまでやりました。
今日は、土曜出勤しているので、もっとどんどん進めますよ~♡
前回の続きのイベントファイルを読み込むところから書きますね。
1-2 イベントファイルの読み込み
file > Import event info > From Matlab array or ASCII fileをクリックします。
Import event infoのウィンドウが出てくるので、右上のBrowseをクリックし、事前に作っておいたイベントファイルを選択する。
↓
読み込んだイベントファイルを開いてみると、上にlatencyとtypeというラベルが付いているので、Input field (column) namesのところにlatency typeと入力してOKをクリックします。
↓
これで、必要なデータ(脳波のデータとイベントデータ)をeeglabに取り込むことができました。
2 フィルタリング
Tools > Filter the data > Basic FIR filter (new, default) をクリックします。
Filter the dataウィンドウが表示されます。
Lower edge of the frequency pass band (Hz)の欄に「1」と入力し、Plot frequency responseのチェックを外したらOKをクリックします。
↓
次に、Higher edge of the frequency pass band (Hz)の欄に「40」と入力し、Plot frequency responseのチェックを外したらOKをクリックします。
ここで、Plot > Channel data (scroll)をクリックすると、フィルタをかけた波形を見られます。
ギザギザが消えています!
スケールを調整すると、こんな感じになります。
3 電極の登録
Edit > Channel locations をクリックします。
Look up channnel locations?のウィンドウが出てくるので、とりあえずそのままでOKをクリックします。
Edit channel infoのウィンドウがでてくるので、左下の方のRead locationsをクリックします。
C:\Program Files\MATLAB\eeglab2022.1\sample_locsの中に「Hiralab.locs」というファイルを入れておいて(後日、作り方を解説しますね)、それを選択します。
すると、こんなウィンドウが出てくるので、最初のautodetectを選択してOKをクリックします。
元のedit channel infoのウインドウにロケーションデータが入力されました。
Fz, Cz, Pzの3部位の脳波とEOGのデータが入っているので、4か所のロケーションが登録されます。
(Channnel number (of 4)のところで確認できます。)
Plot > Channel data (scroll)をクリックすると、波形が見られますが、上からFz, Cz, Pz, EOGというラベルが付きます。
4 エポッキング
Tool > Extract epochsをクリックします。
Extract data epochsのウィンドウがでてきます。
一番上のtime-locking event type(s)のところには、target, relevant, Irrelevant1-4の6つを入れます。
Epoch limits [start, end] in secondsのところは、「-0.2 0.8」と入力し、OKをクリックします。
次に、Baseline removalというウィンドウがでてくるので、Baseline latency rangeを「-200 0」にして、OKをクリックします。
ここで、Plot > Channel data (scroll)をクリックして波形をみると、エポッキングされて、ラベルもついているのが確認できます。
あとは、エポックリジェクションと加算平均の処理をしたら、目視で個別判定もできそうです。
今日は、ここまでにして、また来週頑張ります!
それでは、私は帰ります~♡
EEGLABで脳波解析に挑戦①
昨日、職場の自分のPCでEEGLABが使えるようになったので、今日から分析をやってみる予定です。
ところが、チャンネル登録のところがうまく行ってないんです。
チャンネル登録もなにも、Fz, Cz, Pz の3部位から計測しているだけなので、波形を見たらわかるような・・・・と思いつつ、先輩に相談して、後日教えてもらうことになりました。
しかし、現在日本心理学会中。
そこまでのところをしっかりマスターしておきます!!
最初に、MATLABを起動して、コマンドウィンドウに「eeglab」と入力して、eeglabを起動させます。
拡大するとこんな感じです。
まずは、EEGLABに脳波データを読み込みます。
脳波データの作り方はこちら↓
EEGファイルの整理 - yuki’s diary (hatenablog.com)
1-1 イベントファイルの読み込み
EEGLABのメインウィンドウから、file > Import data -> Using EEGLAB functions and plugins -> From ASCII/format file or Matlab arrayをクリックします
この、File -> Import data -> Using EEGLAB functions and plugins -> From ASCII/format file or Matlab arrayをクリックします。
クリックすると、Import dataset infoというウィンドウがでてきます。
File形式を「ASCII text file」にしてBrowseからファイルを選択します。
今回、サンプリングレートは1000なので、サンプリングレートのところに1000と入力して、OKをクリックします。
EEGLABに脳波データを読み込めました。
PlotのChannel data (scroll)をクリックすると・・・
こんな風に波形が見られます。
今のところ、脳波の波形のデータしか入っていないので、そのままの背景脳波の様子しか見られません。
次に、イベントファイルを読み込みます。脳波のファイルとイベントファイルをくっつけて、事象関連電位の波形?を作ります。
イベントファイルの作り方はこちら↓
イベントファイルの作成 - yuki’s diary (hatenablog.com)
と、ここで時間になってしまいました。
それでは、続きはまた次週にします~♡
今週もよく頑張りました(^^)
文献管理ソフトZotero(ゾテロ)
大学院をでてから10年間、論文なんて絶対に読めない環境で仕事をしていたのですが、この4月に研究業界にカムバックしました。
となると、10年間の空白の期間に色んなもの・ことが進化していました。
私のハズバンドも研究者なのですが、1番バカにされるのが、論文を紙媒体で読んでいることです。
大事なところもメモ取れるし、線も引けるし・・・紙が読みやすいのよ!!なんて言ってみましたが、最近は、そんなことも全部ソフトでできるんですよね。
ということで、ハズバンドおすすめのZotero(ゾテロ)というソフトを使ってみようと思います(^^)
ここからダウンロードできます(^^)
Zotero | Your personal research assistant
上手に使えるか、ちょっと不安ですが、なんでも挑戦しなくちゃ!!と思って、今日からやってみます~!!
日本語論文でいいから、1日1本読んで、論文を読むことに慣れることにします~!
頑張りま~す♡
EEGLABの設定&起動
先ほど、EEGLABのダウンロードについてまとめたところですが、今日は日本心理学会のため、大学に誰もいません~!ので、のんびり自分がやるべき仕事を進めています(^^)/
あ、もちろん、本業の学科業務は完了しております。
ということで、このままEEGLABの設定についてまとめます。
最初に、MATLABを起動します。
実は、うちの大学は、MATLABのサイトライセンスがあるんです~♡
せっかくなので、しっかり使っていきたいです。
MATLABを起動するとこんな感じです。
最初に、EEGLABを起動できるように、パスを設定します。
「ホーム」→「環境」→「パスの設定」
パスの設定のウィンドウがでてきたら、「フォルダを追加」ボタンをクリックします。
EEGLABのダウンロードのところで「MATLAB」フォルダの中に保存しておいた「eeglab2022.1」のフォルダを選択します。
このように、1番上に「MATLAB¥eeglab2022.1」というのが入っています。
「保存」→「閉じる」でeeglabの設定は終了です。
MATLABの画面に戻るので、コマンドウィンドウに「eeglab」と入力してみます。
エンターを押すと、eeglabが起動します。
この設定は、1度してしまえばOKです。
次回からは、MATLABを起動して、eeglabと入力すれば、すぐにeeglabを起動することができます。
いよいよ次回から、予備実験で収録した脳波データを解析してみます♡