yuki’s diary

大学生活を満喫中(学生生活じゃないよ!)

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を起動することができます。

 

いよいよ次回から、予備実験で収録した脳波データを解析してみます♡