2018年4月18日水曜日

【Mac】濁点が2文字になるテキストを綺麗にするAutomatorワークフロー

Macで例えばPDFのテキストをコピーして使おうとすると、濁点や半濁点が二文字になることがあります。「ば」が「は゛」になる等で、これは「UTF-8-MAC」という文字コードだそうです。これを1文字ずつ修正するのは面倒なので、Automatorで自動的に修正して「UTF-8」に変換するワークフローを作りました。
ワークフローの順序は次の通り。
  1.  UTF-8-MACのテキストを入力
    • Automatorアクション「テキストの入力を求める」
  2. 半角スペースを削除
    PDFの場合は文字の折り返しが半角スペースになるため、それを削除するステップを入れています。
    • Automatorアクション「シェルスクリプトを実行」で「sed -e 's/ //g'」を設定
  3. 文字コードをUTF-8に変換
    • Automatorアクション「シェルスクリプトを実行」で「iconv -f UTF-8-MAC -t UTF-8」を設定
  4. クリップボードにコピー
    • Automatorアクション「クリップボードにコピー」
  5. 通知を表示
    機能的には不要なステップですが、おまけで入れています。
    •  Automatorアクション「通知を表示」でタイトルに「問題なく変換できました」、メッセージに「テキストはクリップボードに保存されています」を設定。タイトル、メッセージは任意で分かりやすいものを入れてください。
作ったワークフロー


参考サイト

2016年11月26日土曜日

【Affinity Designer】Grade UI Kitをインポートする

Affinity Designer 1.5 (AD)では Grade UI Kitが無料で使えるようになりました。そのインポートがすぐに分からなかったのでメモしておきます。


  1. Grade UI Kitのダウンロード
  2. Assetsのインポート
    1. ADで「表示>スタジオ>アセット」にチェックを入れます。
    2. アセットのメニューから「アセットのインポート」、ダウンロードしたファイル(Grade UI.afassets)を選択します。
  3. Palettesのインポート
    1. スウォッチのメニューから「パレットのインポート」、ダウンロードしたファイル(Grade UI - Fills.afpalette、Grade UI - Gradients.afpalette)を選択します。

      なお、インポートの方法にも3種類あります。
      1. アプリケーションパレット:基本これで良いのでは。AD/APのファイルならどれでもパレットが使えるようになります。
      2. ドキュメントパレット:いま使っているファイルのみ
      3. システムパレット:OSX全体で使える?試してないので分かりません。
以上です。

2016年11月10日木曜日

PowerPointで作った図をWordで綺麗に印刷できるように貼り付ける

仕事柄、PowerPointで作った図をWordに貼り付けることがよくあります。しかし普通にPowerPointで「図として保存」から画像(PNG)を書き出すと、解像度が 96dpi になってしまい印刷には向きません(印刷には300dpi以上が適切)。
そこで、解像度を落とさずにWordに貼り付けられる方法を調べました。WindowsとMacどちらも調べて、方法は違うのですがともに出来るようになったのでメモしておきます。Windowsでは3つの方法があります。

調べた環境は下記のとおりです。
使用OS PowerPoint Word
Windows PowerPoint 2016 Word 2016
Mac PowerPoint for Mac ver. 15.27 Word for Mac ver. 15.27

Windowsでの方法 1: Windowsメタファイルで保存

すべての作業がWindows内のOfficeアプリケーションの中だけで済むのであれば、この方法が最もファイルサイズも小さく描画が綺麗に維持されます。PowerPointで作った図形や文字はベクター画像として保存されています。ただし写真などのビットマップ形式ファイルは当然ベクター形式にはなりません。(ベクター形式とビットマップ(ラスター)形式の違い
WindowsのOffice環境だけであれば、ベストな選択肢のWindowsメタファイルですが、他のアプリケーション(AdobeやMacユーザーへ渡すなど)には向いていません。作ったwmf画像をAdobe Illustratorで開くと文字化けすることがありますし、Macでは開くことができません。ですので将来汎用的に使いたい場合は、ここで作ったメタファイルからJPGやPNGに書き出すことになります。とはいえ基本WindowsでOfficeしか使っていない人にはこの方法をお勧めします。
  1. PowerPointで作成した図を選択し、右クリックして「図として保存」を選ぶ
  2. 「拡張Windows メタファイル(*.emf)」または「Windwsメタファイル(*.wmf)」を選択
    • 「拡張」と名前が付いているだけあって、emfのほうが規格として新しく、多くの場合は改良版であるemfの方が良いはずです。が、説明によるとたまに開けない場合もあるらしい…。でもまずはemfで書き出しましょう。
  3. 作ったファイルをWordファイルにドラッグ&ドロップ

Windowsでの方法 2: 大きめに作ってPNGで保存

この方法はベクター形式ではなく、ビットマップ形式で画質を保ったまま印刷用ファイルを作成する方法です。
  1. PowerPointで図を作成する際に、最終的な図のサイズの約3倍の大きさで作る。
    • 上で述べたように「図として保存」は96dpiで書き出されます(この設定を変更する方法もあるのですが高度なのであまり一般的ではありません)
    • そこで、96dpiでもWord内で約3分の1の大きさに縮小すれば、約300dpiになる、という計算です。
    • たとえばA4用紙のなかに幅 5cm × 高さ 7cm の図を入れたいと思った場合、PowerPointの「デザイン > ユーザー設定 > スライドのサイズ」を開き、3倍の幅 15cm × 高さ 21cm のスライドにします。
    • ちなみにフォントサイズも3倍で作りましょう。最終的に10ptぐらいにしたかったら、30ptで作ることになります。
    • つまり、注意点としては図を最終的に入れる場所のサイズが分かっている必要があります。
    • なお、2倍のサイズで作っても、簡単な印刷物なら十分です。スライドのサイズを大きくするほどファイルサイズも大きくなりますので、その辺りは好みで作ってください。

  2. 作った図を右クリックして「図として保存」からPNGまたはJPGで書き出す。基本、PNGで良いでしょう。
  3. 出来上がった画像ファイルをWordにドラッグ&ドロップで配置し、マウス操作で3分の1の大きさになるよう縮小する。

Windowsでの方法 3: PDFにしてAcrobat Readerのスナップショット機能を使う

2とは違ってサイズを考えずに作り始めたときでも使える方法です。
  1. PowerPointで図を作成し、「ファイル > エクスポート > PDFまたはXPS形式で発行」からPDFで保存
  2. 作成したPDFをAcrobat Readerで開く。
  3. Acrobat Readerの設定を変更・保存。
    • 「環境設定 > 一般 > スナップショットツール画像に固定解像度を使用」にチェックを入れ、任意の数値(約200-300)を入力。
  4. 「編集 > スナップショット」を選ぶと十字マークが出るので、書き出したい領域をドラッグ&ドロップで選択します。すると「選択した領域がコピーされました」と表示されます。
  5. Wordに移り、画像を挿入したい場所で「貼り付け」をします。

Macでの方法: PDFを直接貼り付け

この方法でPDFから挿入した画像はベクター形式です。つまり、Windowsの方法 1でWindowsメタファイルでベクター形式を扱う方法を説明をしましたが、WindowsメタファイルはMacでは使えません。そこでPDFに書き出してから挿入することでベクター形式として貼り付ける、という方法が使えるのです。
ちなみにこのPDF挿入方法は、なぜかWindowsでは使えません…PDFファイルを「挿入」メニューから選んでもPDFが表示されませんし、ドラッグ&ドロップで貼り付けようとしてもアイコンが表示されるだけです。WindowsでPDFを貼り付けようと思ったら上記3の方法になるんでしょうね。
  1. PowerPointで図を作成し、印刷機能からPDFとして保存します。
  2. Wordに移り、「挿入 > 写真 > ファイルからの画像」でそのPDFファイルを選択します。
    • 注)Word文書にドラッグ&ドロップで挿入すると低解像度で読み込まれてしまいます。
  3. なぜか裏表逆、180度ひっくり返った形で挿入されます(たまにうまく行くこともある)。
  4. 「図の書式設定」の機能を使って適宜回転・反転させてください。






2016年8月5日金曜日

BlenderをPythonで動かして重力波を描く

重力波を描きたい、と思いたち、どうにかBlenderでそれっぽいのを作れたのでメモ。

これが完成版。



参考にしたサイト



プログラム(Python)

import bpy
import numpy as np

# 一旦すべてのオブジェクトを消す
for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

theta = 0

# mesh arrays
verts = []
faces = []

# mesh variables
numX = 200
numY = 200

# wave variables ここは好きに変更してください
amp = 15 # 振幅
lam = 3 # 波長
scale = .15 # 数値が小さければ細かいグリッドになる

#fill verts array
for i in range (-numX, numX):
    for j in range(-numY, numY):

        x = scale * i
        y = scale * j
        R1 = amp * np.cos(2 * np.arctan(y/(x + 0.00001)) - theta + lam * np.sqrt(x**2 + y**2))
            # 2は中心から出る波形の数
        R2 = 60 + np.sqrt(x**2 + y**2)
        z = R1/R2

        vert = (x,y,z)
        verts.append(vert)

#fill faces array
count = 0
for i in range (0, 2*numY * (2*numX-1) ):
  if count < 2*numY-1:
      A = i # 1番目の点
      B = i+1 # 2番目の点
      C = (i+2*numY)+1 # 3番目の点
      D = (i+2*numY) # 4番目の点

      face = (A,B,C,D)
      faces.append(face)
      count = count + 1
  else:
      count = 0

#create mesh and object
mesh = bpy.data.meshes.new("wave")
object = bpy.data.objects.new("wave",mesh)

#set mesh location
object.location = bpy.context.scene.cursor_location
bpy.context.scene.objects.link(object)

#create mesh from python data
mesh.from_pydata(verts,[],faces)
mesh.update(calc_edges=True)

2016年7月26日火曜日

【Blender】渦巻きをつくる

こんな渦巻きを作りたい時の参考に


  1. ユーザ設定からアドオンを開き、「追加カーブ(Add Curve)」の「Extra Objects」にチェックを入れて設定保存。
  2. カーブの種類に「Spirals」というのが増えているので、それで設定。「Radius Gro」を0.33などにすると、上のイメージに近くなる。
参考サイト

2016年3月30日水曜日

Wordpress の Twenty Sixteen でヘッダー画像の大きさを変える

Wordpress の Twenty Sixteen テンプレートでは、デフォルトのヘッダー画像の大きさは

横 1200 px - 縦 280 px

となっています。
これを変更する方法です。

まず、テンプレートフォルダ(通常は wp-content/themes/twentysixteen )に inc という名前のフォルダがあります。
この中に、customizer.php というファイルがありますので、以下の記述を探します。

add_theme_support( 'custom-header', apply_filters( 'twentysixteen_custom_header_args', array(
'default-text-color' => $default_text_color,
'width' => 1200,
'height' => 280,
'flex-height' => true,
'wp-head-callback' => 'twentysixteen_header_style',
) ) ); 


この数値をお好みで変更してください。
'width' => 1200,
'height' => 280,

以上です。

2014年10月26日日曜日

ggplotを使ったfor文で項目名を順番に変えていく

ggplot2でグラフを描く時に、データに使う項目名(具体的にはcsvの列名)を変えて同じ体裁のグラフを複数いっぺんに描きたいときがあって、調べてたら出来るようになったのでメモ。
(追記)reshapeパッケージのmelt.data.frameを使うほうが簡単かも。後述します。

例としてirisを使います。

names(iris) 

とすると、当然
 
[1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width"  "Species" 

と表示されます。
ここで、x軸をSpeciesにして、y軸用データを"Sepal.Length" "Sepal.Width" "Petal.Length"にして、それぞれの項目でボックスプロットにしたグラフを描くことを目的とします。

aes_stringを使う方法

まず、使いたい項目名をxnamに入れます(xnamは任意)。
 
xnam<-c("Sepal.Length","Sepal.Width","Petal.Length")

ggplot関数で作図したプロットを入れるリストをつくります。
plots<-list()

通常のggplot関数ですと、aes()でx軸用データ、y軸用データを設定するのですが、変数にした文字列を読み込みたいとき(つまり、Sepal.Lengthを読み込みたいためにxnam[1]と書きたいとき)に aes(x=Species,y=xnam[1]) と書くと正しく描画されません。
したがって、aes_string()を使います。ただし、ここで注意が必要なのは、
 
aes(x=Species, y=Sepal.Length) 

で良かった指定が、
aes_string(x="Species", y="Sepal.Length") 

みたいにダブルコーテーションで囲ってやらないとダメなのです。
ということで、あとは以下のようにfor文を書きます。
 
j <- 1
for (i in 1:length(xnam)) {
    plots[[j]]<-ggplot(iris, aes_string(x="Species",y=xnam[i])) + geom_boxplot()
    j <- j+1
  }

  これで3つのプロットが出来たわけですが、1枚にいっぺんに描くには次のように書きます。
 
args <- c(plots, list(ncol=3, nrow=1))
do.call(grid.arrange, args)
grid.arrangeはgridExtraパッケージの関数です。問題なく実行されると以下の様なグラフが出力されるはずです。
なおargs, do.callの書き方は以下のサイトを参考にさせていただきました。多謝!
R - 可変長引数が最初にある関数に対する do.call() のやりかた - Qiita


(追記)melt.data.frameを使う方法

reshapeパッケージの関数です。超便利。
install.packages("reshape")
library(reshape)
iris2 <- iris[,-4] #Petal.Widthを削除(上の例に合わせてます)
iris2.melt <- melt.data.frame(iris2,id.vars="Species",variable_name="Region")
実行してやると、ほらこの通り。魔法みたい。
> head(iris2.melt)
  Species       Region value
1  setosa Sepal.Length   5.1
2  setosa Sepal.Length   4.9
3  setosa Sepal.Length   4.7
4  setosa Sepal.Length   4.6
5  setosa Sepal.Length   5.0
6  setosa Sepal.Length   5.4
列名のvalueはデフォルトで決まっているようなので後で変えたいときは以下のようなのを。
names(iris2.melt) <- c("Species","Region","Length")
で、プロット。
ggplot(iris2.melt,aes(Species,Length)) + geom_boxplot() + facet_wrap(~Region, scales="free_y") 
結果はこんな感じ。
以下を参考にさせていただきました。
data.frame を ggplot2 用に加工する - joker8phoenix's diary

2015年4月16日追記:reshapeで感動していたのも束の間、時代はreshape2を通り越して、tidyr + dplyr を使おうってことになっているらしい。時代にまったくついて行けてない初心者です。
参考:http://meme.biology.tohoku.ac.jp/students/iwasaki/rstats/reshape2.html

2014年8月3日日曜日

iPhoneケースにUVプリンターでロゴを印刷してみた

iPhoneケースに僕の好きなバンド、The Album Leafのロゴを印刷したいと思い、Happy Printers Harajukuさんにて制作してきました。使用したのはUVプリンターです。

制作した物はこれ。
いい感じです。
以下が主な流れです。

1.ケースを用意

元々使っていたAir Jacketです。

パワーサポート エアージャケットセット for iPhone5S/5 PJK-71
パワーサポート (2012-10-17)
売り上げランキング: 450

2.データを作成

基本的にはHappy Printersさんのサイトの説明に従います。
http://happyprinters.jp/facilities/index.html

ケースの寸法を測ります。正確な値は調べても分からなかったので定規で測りました。Air Jacketはだいたい12.5cm x 6cmでした。
この枠をIllustrator上で作ります。
そしてその中にiPhoneの背面画像と、入れたいロゴマークの画像を配置します。
アップルマークの位置関係、けっこう考えましたが最終的にはあまり気にせず被せました。

この時に注意するのは、白色です。
白色として出したいときはCMYKで、K:1% にするか、スタッフの方にCMYKすべて0の場合の処理を相談すれば良いです。
逆に素材をそのまま露出させたいときはCMYKすべて0にして、スタッフの方にそのように伝えれば適切にやっていただけます。

3.Happy Printersへ

原宿の竹下口の近くにあります。

4.印刷準備

データをスタッフの方に渡します。
白の扱い(そのまま素材を露出させるか、白色として出すか)や、白は白でもどこまで濃くするか(薄くすると素材の肌感が出てくる)などを相談します。
なお、一番高い面に印刷をするので、へこんだ形状に印刷をするのは無理なようです。

5.いざ印刷!

まず下地を紙に印刷し、そこにケースをおきます。これでズレて置いてしまうと当然印刷がズレるので要注意。
最後に印刷面をエタノールで拭いてホコリを取り除きます。
印刷が開始したら後は待つのみ。
印刷中…青い光がUVを含むんでしょうね。

6.完成

数分で完成です。
出来上がりは、素晴らしい…!
テンション上がりました。
プリントが剥がれやすいかどうかは、印刷される素材に依存します。ピカピカのコーティングがされていたりすると、剥がれやすいそう。表面にスプレーをかければ、耐久性は上がるそうです。
装着してみたところ。
お値段は2,000円。
世界に一つだけの、好きなバンドのロゴマーク入りケースができたので大満足でした。

2014年7月15日火曜日

Macbook Air を開けて掃除した

Macbook Air (2012年購入)が最近やたら熱くなって、ファンがすぐに回るようになっていました。
いろいろ調べてSMCリセットしたんですが、改善せず。他の可能性は内部のホコリ。
ということで開けて掃除することにしましたが、皆さんご存知のように普通のドライバーでは開かないです。

秋葉原のパーツ屋で「PENGGONG ☆1.2 x 25 mm No. 8024」のドライバーを千円で購入しました(探せばもっと安いのはあるはず…)。
以下の色違いです。
http://www.aliexpress.com/item/for-opening-repairing-apple-macbook-laptop-1-2-25mm-5-star-point-pentalobe-metal-chrome-paint/1520907451.html

開けてみたのが以下の写真





それなりにホコリが付着して汚いですが、さほどでもないという印象。

エアダスターでキレイにしたのがこちら。




閉じた後、Youtube観たり、画像系アプリを使ったりして、いつもならファンがうるさいほどに回るんですが、掃除後は全然回らず快適でした。
買った時のようだ…!

2014年3月29日土曜日

Google+フォトの自動補正はステキだがたまに過剰

趣味で写真撮るんですが、最近Google+フォトを使ってバックアップをとるようにしてます。2,048x2,048ピクセルまでは無制限でアップロードできるからです。スゴイですよね。もちろんオリジナルはもっと画素数が高いし、JPEGしか保存できないので、簡易的なバックアップという感じですが。

Google+のさらに注目すべき点は、「自動補正」と「おまかせビジュアル」です。
自動補正は、その名のとおり、自動で写真を補正してくれます。おまかせビジュアルは例えば何枚かの連続写真をGIFアニメみたいにつなげてくれるんですが…ジョーク的な機能ですね。

普段iPhotoで写真管理をしている私にとって、すべての画像を一気に同じ補正をかけることができず、面倒だと思いつつ欲しい写真だけ補正をしていました(一応補正条件のコピペは出来ます)。
それに引き換え、Google+の自動補正はとても便利です。何枚でも写真をアップロードするだけで、自動的に見栄え良くしてくれるからです。自動ですべて補正してくれるのは感動的なくらい便利です。

ということで自動補正画像とオリジナルを比べてみます。ちなみに、カメラはNikon D7100、レンズはAF-S DX NIKKOR 18-105mm f/3.5-5.6G ED VRです。

Google+自動補正の特徴

(クリックすると拡大します)
この左の画像はGoogle+で自動補正がされた画像をダウウンロードして、拡大したものです。Originalのほうは同じピクセルサイズになるようにiPhotoでJPEGを書きだして、同じ拡大操作を行ったもの。
拡大すると違いがよく分かります。パッと見でGoogle+のほうが「パキっとしてる」と思いませんか?建物も、桜も、Google+の方がシャープな印象です。色味も違ってます。デジカメ画像はシャープに映っていると「綺麗だ」と感じ易いので、自動補正でシャープネスを上げているんだろうと思います。Originalの方はダルい感じします。

Google+の自動補正でパッと見で綺麗な写真にはなります。なので、とりあえずの簡易バックアップだったらこれでも良いかなと思います。自動補正を後から戻すこともできるので。
しかし、たまに気持ち悪いレベルで補正がされるので、それも比較しておきます。

自動補正が過剰なケース

(クリックすると拡大します)
Google+の方は、パッと見「綺麗」です。が、空の色が青すぎです。夏の空か?と思うくらいに青いです。実際はこんなに青くなく、春のちょっと寝ぼけた感じの空です。桜の色も変わりすぎです。輪郭もパキっとしすぎです。もちろんOriginalは補正なしでダルい感じなので、このままで良いというわけではないのですが。Google+の自動補正は場合によってこれだけ過剰になってしまいます。

Google+の写真機能は容量から言っても、自動補正から言っても、かなり良いです。無料でここまで出来るのだから文句言うなという感じです。が、まぁ使いようですね、という至極当然な結論です。

2013年11月1日金曜日

[自分用] Rの基本

久しくRを触ってなかったんですが論文執筆のために触ることになり、何からすれば良いのかも戸惑う始末。なのでダメな自分用にメモっておきます。随時追加するかも。
ちなみに私のRの使用目的はグラフを作るのがメインです。あくまで自分用なので、「基本」と書きつつも私がよく使うものだけを列記します。

Rstudio立ち上げましょう

まずはここから。

CSV読み込みましょう

d <- read.csv("path to file", header = T or F) ワークディレクトリはデフォルトではホームフォルダに設定されてる。変更したければRstudioの環境設定から変える。<注意:csvファイルのカンマ区切りはスペースを含まないようにする。スペースも文字としてカウントされてしまうため。>
以下、データはこんなのを想定してます。

Species Season Value
A Spring 12
A Summer 36
B Spring 41
B Summer 19

特定の行または列だけ選びたければ

d[1,] (行)
d[,1] (列)

行とか列を削除したいときは

d[,-c(2,3,4)] #(2,3,4列目を削除)

オブジェクトの削除

a, b, cという3つのオブジェクトを一度に消す rm(a,b,c) 

条件からデータを抽出

例えば季節(Season)がSpringのデータだけ抽出したい、とか。 d.spring <- subset(d, Season=="Spring")

データの取り出し方いろいろ

説明しにくいので、読んで分かれ自分。
#ベクトル作成
> v<-c(2,3,4,5,6)

#普通に表示
> v
[1] 2 3 4 5 6

#2で割って余りが0になる=TRUE
> v%%2==0
[1] TRUE FALSE TRUE FALSE TRUE

#TRUEになるデータだけピックアップ
> v[v%%2 ==0]
[1] 2 4 6

#TRUEのデータが何番目かを表示
> which(v%%2==0)
[1] 1 3 5

#1,3,5番目のデータをピックアップ、二つ上のコードと結果は同じだけど。
> v[which(v%%2==0)]
[1] 2 4 6

とりあえずplotしてみる

plot(x,y,…) という書き方なので以下だとX軸にdのSeason、Y軸にdのValueが表示されます。 plot(d$Season, d$Value, main="title of figure") ちなみに、タイトルが長すぎて改行を入れたい場合は、 main="title of figure\nsubtitle" のように改行したいところに\nを入れれば、"title of figure" と "subtitle"の間に改行が入る。
※Macの場合。Windowsでは¥nを入れる。

x軸の項目名が1,2,3...とかなってるけど任意の名前にしたいとき

plot(data, xaxt="n") とxaxtパラメータでx軸の名前を入れないようにして一旦描画。次に、 axis(side=1, at=c(1:n), labels=LabelName) としてx軸に上書き。sideパラメータは1:下,2:左,3:上,4:右。atはx軸の項目数。その数と同じだけのLabelNameを先に作っておいて、x軸の項目名を置き換えるわけです。このLabelNameは文字列(character)でもベクターでもOKなようです。ここで、項目名が長いために90度回転させたいならlasというパラメータを入れる。こちらの有り難いページによれば以下とのこと。
可能な値は 0 (標準・軸に平行), 1 (x軸,y軸とも水平), 2 (x軸,y軸とも軸に垂直),3 (x軸,y軸とも垂直(半時計回りで90度回転)) の4つ
axis(side=1, at=c(1:n), labels=LabelName, las=3)

ヒストグラムも描いてみようかな

hist(d$Value)

ggplot2てパッケージがあったよな、たしか

インストール(初回だけで良い) install.packages("ggplot2") 読み込み library("ggplot2")

ggplot2でもプロットしてみる

qplot(data=hoge.rule1, Season, Value, main="title of figure") 分類(Species)に基づいて色分けしたいときは
qplot(data=hoge.rule1, Season, Value, main="title of figure", color = Species)

ggplot2は + で表現を追加できる

facet_wrapで複数のプロットを一度に描ける。以下の例では種ごとにプロットを作成。scalesで軸の範囲を設定可能
+ facet_wrap( ~ Species, scales = "free_y")   レイヤーの発想で点を重ねることも可能。以下の例ではsizeが3の点の上に、sizeが1.5の薄いグレーの点を重ねることで赤い境界線だけに見えるプロットになる。
+ geom_point(size=3, color="red") + geom_point(size=1.5, color="grey90")

ggplot関数に+していくとqplotより複雑なことができる(らしい)

ggplotで基本的なデータ要素、X、Yを決めてあげて、それに+してどんなプロットの形にするか等を追加していくことが可能みたい。 p <- ggplot(d, aes ( Season, Value ) )
p + geom_boxplot ( aes ( fill = Species )

ggplot2のqplotで参照するページ

ggplot2のqplot関数のまとめ - ぬいぐるみライフ(仮)
qplot. ggplot2 0.9.3.1

結果をテキストファイルに書き出し

sink(“results.txt”) と書くと、これ以降の出力をresults.txtに書き出してくれる。止めるときは、 sink()

他に参考にするページ

Google の R の書き方案内

2013年10月7日月曜日

SNSと「自分」

Facebookがインフラになる一方で、やはりそうしたSNSに違和感を覚えて使わない人もいます。使わない理由は人それぞれでしょうが、プライバシーなどは最もよく聞く理由のひとつかもしれません。ちなみに僕自身はTwitterもFacebookも活発ではありませんが利用します。
さて、SNSを利用しない友人と話してて、少し興味深い話があったのでメモっておきます。

友人がSNSに違和感を覚える意見が、
「(リアルな)自分とは別の存在として、しかしあたかも他人にとっては自分であるかのように振舞う存在があるのが嫌」
というもの。
つまり「今日は気分が悪い」とかいう日々の気持ちの移り変わりがあったりして、「動的な存在」であるが、ネット上のアカウントはそうしたものに影響を受けない「静的な存在」であり、そうした静的存在が自分のあずかり知らぬところで「自分」をアピールするのが気味悪いということです。

なるほど、と思いました。
例えば、ネット上でのプロフィールに「◯◯という仕事をしており、将来は各国の架け橋になりたいです」なんて書いてたりすると、僕がたまたま「今日はしんどい、架け橋なんてどうでもいい」と思っていても、ネットでそのプロフィールを見た人は「なんてやる気のある人なんだ〜」というようなことを感じたりするわけです。その不一致が気持ち悪いというのも理解できます。
もちろん、しんどいときに代わりにPRしてくれるのであれば、それはメリットでもあります。使いかた、感じ方は人それぞれ、という当然の結論ですが、いわゆる自己同一性みたいな概念はSNS全盛の今どのように考えられるのか、専門家の話を聞いてみたくなりました。

これに関連して、WIREDに面白い記事が。
匿名性と実名性:「ネット上の人格」を考える

2013年9月20日金曜日

MEGA 5 でアラインメントを印刷する方法

普段あまり印刷はしないので後輩に聞かれて分からず、調べたことをメモしておきます。

MEGAの基本的な使いかたは以下をご参照ください。
http://togotv.dbcls.jp/20110705.html#p01

では、以下から印刷の方法です。

1. .megファイルを用意

アラインメントだけでしたら、.masファイルのみを使っている方も多いと思います。
これを以下の手順で.megファイルに変換します。.megファイルがあれば変換は必要ありません。
  1.  Data -> Export Alignment -> MEGA Format
  2. 適宜名前を付けて保存保存します

2. .megファイルを印刷用ファイルに変換して印刷

上で作成した.megファイルを開きます。
  1. Data -> Export Data を選択
    • megファイルのアラインメントは、一番上に使用配列群のコンセンサスが表示されます。個々の配列においては、コンセンサスと相同な配列が「・」で表示されます。このまま印刷したら「・」のままです。
      そうではなく配列を全部表示したい場合は、
       Display -> Use Identical Symbol
      のチェックをはずしてください。すべての文字が表示されます。
    • また、Color Cellのチェックを入れることで.megファイル上では文字に色をつけることができますが、印刷用ファイルには反映されません。色がつけば印刷したアラインメントがもっと見やすくなるんですが…。もし方法があれば教えてください。
  2. 以下のパラメータを適当に選択して「OK」して印刷用ファイルに変換
    • Title, Description = 空欄でも大丈夫。
    • Format = お好きに。どれでも良ければデフォルトの「MEGA」で。
    • Sites per line = 一行の文字数。だいたい40か50くらいでA4に収まります。なお、配列名が長いと一行に入る文字数が減りますので、その場合は配列名を変更しましょう。megファイルでは配列名をクリックしただけでは名前が変えられないので、Data -> Select & Edit Taxa/Groupsにおいて配列名をクリックし、一呼吸おいてまたクリックすると変更可能になります。masファイルに戻って配列名を変更しても構いません(もちろんその場合は再度megファイルに変換してください)。
      Interleaved Outputのチェックを外すと印刷用ファイルで配列名が消えます。
    • Writing site numbers = 配列の番号
    • Missing data and alignment gaps = 相同性のある部分だけを見せるか、等
  3. 出てきたウィンドウで罫線が引いてある範囲に入ってれば基本的にA4に収まるはずです。罫線から飛び出していたら、一度ウィンドウを閉じて、上記のSites per lineあたりを変更してA4に収まるよう調整しましょう。フォントとか大きさとか変えられるので、気になる方はどうぞ。
    調整できたらFile -> Printを選択するか、プリンターアイコンをクリック。
    パラメータを適当に選択して「OK」。基本的にデフォルトで大丈夫。
  4. あとは普通の印刷と同じです。
以上です。
正直、面倒ですね笑 もっと良い方法があれば知りたい。。。

2013年4月22日月曜日

Rで外れ値を計算する方法

Rでスミルノフ・グラブス検定を用いて外れ値を検出する方法のメモです。

調べたら今のところ以下の3つ。
同じデータを用いてそれぞれ計算してみました。

1. outliersパッケージのgrubbs.test関数

> install.packages('outliers')
> library(outliers)
> grubbs.test(df)
Grubbs test for one outlier
data:  df
G = 2.5060, U = 0.5194, p-value = 0.03119
alternative hypothesis: highest value 138.08 is an outlier

2014年1月9日追記
こちらの有り難いページによれば、typeという引数を設定することにより2つの外れ値を出すことも可能だそうです。
type=20 → 大小どちらか片側から最大2つまで外れ値を表示
type=11 → 大小両方から最大2つまでの外れ値を表示
type=10 → 大小どちらか片側から外れ値を1つ表示

2. 青木繁伸先生のSG関数

>SG(df)
[[1]]
スミルノフ・グラブス検定
data:  min(df) = 72.99
t = 1.275, df = 13, p-value = 1
[[2]]
スミルノフ・グラブス検定
data:  max(df) = 138.08
t = 2.506, df = 13, p-value = 0.03119
attr(,"class")
[1] "SG"
ここで有意水準を5%とすると、p < 0.05 の場合はその最大値または最小値が外れ値であると判断できます。リンク先の注意書きにもあるように外れ値は1個ずつ除外すべきですので、最大値または最小値を除外して再度SG関数で計算してみる必要があります。

3. 外れ値を自動的にループして除外してくれるfunction

R - 井上 潤 「外れ値の検出-1」にとても便利な関数がありました。感謝。
上の2つの方法だと、一度外れ値が見つかったらそれを自分で除外して、再度外れ値を検証しなくてはなりません。
しかし、この方法だと一個の外れ値を除外した後、自動的にループして新たに外れ値があるか検証してくれます。何度か繰り返して外れ値がすべて除外した後のデータは以下で取得できます。
  SG(x)$x

こちらも参考に。


2013年3月26日火曜日

R の ggplot2 で facet_wrap のスケールを変える

図を描きたくてRのggplot2パッケージを試しています。
その途中でちょっと躓いたので備忘録として書いておきます。

qplot関数において、facet_wrap もしくは facet_grid を足して格子状に分かれたプロットを描く際に、軸の範囲を設定する方法です。
スケールを設定しない場合は、例えば以下のような記述。

qplot(carat, price, data = diamonds) + facet_wrap (clarity~cut)

これを、以下のように書くとスケールを変えることができます。

1. 自動的にスケールを設定

qplot(carat, price, data = diamonds) + facet_wrap (clarity~cut, scales="free")
と書くと、各々のプロットに適したスケールが自動的に設定されます。
ちなみに scales の引数を free_y にしたらY軸のみ、free_x にしたらX軸のみ自動的に設定されます。

2. 任意の範囲でスケールを設定

qplot(carat, price, data = diamonds) + facet_wrap (clarity~cut) + coord_cartesian(xlim = c(0, 1), ylim = c(250,1000))
と書くと、自分の好きな範囲で軸を設定できます。
(2013/03/29追記)ためしてませんが、scale_x_continuousなどの書き方でも可能のようです。勉強必要。

この書き方だと全部の軸が一斉に変わってしまうのですが、個々のプロットに任意の値を設定することはできるんでしょうか…。まだまだ勉強が必要です。
とりあえず備忘録でした。

2013年1月31日木曜日

[Mac] Virtualboxで Windows 7 から 8 へアップグレード

Windows 8の優待価格が本日(2013年1月31日)までなので、駆け込みで購入しました。
Mac上Virtualboxにて、Windows 7からのアップグレードを進めていたら、「容量が足りません。16GB必要です。」と。
Virtualboxにそんなにサイズ用意してねーよ、ということでストレージを増やすことにしました。
以前、Virtualbox 3でのストレージサイズの変更方法を書きましたが、Virtualbox 4では比較的カンタンにできるようになっていました。ただ、結論から言うと私の環境ではその通りにはできませんでした。なので3で用いた方法と同じようにしたのですが、それ以降でもいくつか手こずった点があったので流れをメモしておきます。また、この方法ではあまり良い結末とはなりませんでした。あくまでネガティブサンプルとして残しておきます。

おおまかな流れを書くと、

  1. ターミナルを使ってカンタンにVirtualboxのストレージを増加できる!?→できない。。。
  2. ClonezillaとGpartedを利用しストレージ増加
  3. Win 8のインストール中にトラックパッド触るとブルースクリーンエラー!→なんとかインストール完了
  4. インストール後もブルースクリーンエラー多発→Win 8を「リフレッシュ」
  5. Win 7で入れていたアプリケーション消失。。。
  6. ま、いっか。とりあえず動いてるし。
て感じです。似たような流れの方はご参考までに。

なお、ターミナルを用いたVirtualbox 4のリサイズ方法には条件があるそうです。
「調べてみると、どうやら "--resize" オプションが有効なのは可変サイズ (Dynamically expanding storage) の VDI または VHD 形式で、今回失敗した固定サイズ (Fixed-size storage) ではダメらしい。また (上限を小さくする) 縮小もできない。 」
VirtualBox: 仮想ディスクのサイズを拡張する (VDI) - Natz's Digital 漂流記
固定サイズにしている場合は、上記ブログに方法が載っています。感謝です。

さて、私も実際にサイズ変更をしてみました。
詳細はここ(英語サイト)に載っています。

が、、、、私は冒頭に書いたとおり、この方法ではうまくいきませんでした。もともとclonezillaとgpartedと使って今の環境を築いたのが理由なのか。よくわかりませんが、結局は前回と同様の方法で行いました。

とりあえず、以下から英語サイトのカンタンな説明です。
この方法ではなく、何らかの方法でリサイズが出来た方は、後半の「アップグレード前の設定変更」へお進みください。

Virtualbox 4 のストレージリサイズ方法

  1. バックアップ(オプション)
    何かあってからでは遅いので、心配な方はバックアップをとります。
    ターミナルで以下を入力します。
    VboxManage clonehd <path to your original drive> <path of the copy>
    おそらくすぐコピーが終わるはずです。
  2. リサイズする
    ターミナルで以下を入力します。
    VBoxManage modifyhd <path to your vdi> --resize <new size in Megabyte>
    ここで、新しいサイズはMB単位で入力します。なお増設予定のGBがストレージ上で何MBになるかは以下をクリックして確認できます(必要に応じて数字を変えてください)。 40GB to megabytes
    入力できたら実行し、これもすぐに終わるはずです。
  3. 確認
    Virtualboxを起動し、サイズが増えていることを確認します。
    このままではWindowsが新しいストレージサイズを認識していないので、Windowsを起動してから以下を行います。
  4. OSに新しいストレージサイズを認識させる
    Windows起動後、スタートメニューをクリックして、出てきた「コンピューター」を右クリックし、「管理」を選択します(※この時、管理者権限でログインしていることが必要です)。「ディスク管理」を開きます。現在使用しているドライブを右クリックして「拡張」を選び、あとは出てくる表示したがって操作を進めれば完了です。
  5. 一旦Windowsを終了します。
あとはWindows 8をインストールするだけです。
ただし、ここでアップグレード前に注意点があります。

アップグレード前の設定変更

  • Virtualboxの設定を変えてから8をインストール
    • 「設定」の「一般」で「バージョン」を「Windows 8(環境によっては64bit)」を選択
      • 私は「Windows 8」を選択しました。
    • ちなみに「高度」の設定はこんな感じ
    • 「設定」の「システム>マザーボード」で「IO APICを有効化」にチェックを入れる。
      • メインメモリーを1024MBに設定(これはご自由に設定してください)。
    • 同じく「システム>プロセッサー」で「PAE/NXを有効化」にチェックを入れる(※特に、この項目はデフォルトではチェックオフになっているかもしれません)
    • 同じく「システム>アクセラレーション」で「VT-x/AMD-Vを有効化」と「ネステッドページングを有効化」にチェックを入れる
    • 「ディスプレイ」の「ビデオメモリー」を128MBに設定。これは私の環境では64MBでは画面の挙動がおかしかったからです。
  • (おそらく特殊な状況ですが)インストール中にトラックパッドを触らない
    なぜか私のMBAでは、インストール中にトラックパッドを触るとブルースクリーンエラーとなり、インストールが止まってしまいました。エラー表示は"IRQL_DRIVER_NOT_LESS_OR_EQUAL"
    ググってみるとドライバがバグってて、メモリの割り当てがナントカカントカ。。。はい、わかりません。インストール中にこれが表示されると、すべて中断され、インストール前の状態、つまりWindows 7に戻ってしまいます。結局、キーボードで操作はできるので、インストール後最初の設定はトラックパッドを触らず、キーボードのみで行いました。環境依存的ではあると思いますが、インストールが途中で失敗する方は気をつけてみても良いかもしれません。
  • インストール後にGuest Additionをインストール

アップグレード後の経緯 

で、無事アップグレード完了…と思いきや、やはり8をインストール出来た後でも、トラックパッドを触ると落ちてブルースクリーンエラーが表示されてしまいます。
とりあえず何度かブルースクリーンエラーを繰り返していると、 トラブルシューティングが出来る選択肢が現れ、「リフレッシュする」を選びました。
しばらく時間がかかり、再起動したら…トラックパッド触っても落ちない!
と思ってたら、Windows 7で入れていたアプリケーションがすべて消えており、ほぼクリーンインストールしたような初期状態に。
うーん、Windowsはほとんど使っておらず特に重要性の高いアプリケーションも入れてなかったので、まぁいいんですが…。あまり良い結末ではないですね。
Virtualboxで7から8にアップグレードする方法を詳述したブログがほとんど英語ばかりなので読むのが面倒でテキトーにやってしまいましたが、Virtualboxがこういう状況にも対応するまで待つほうがいいのか、私が特殊な状況だったのか。どうなんでしょうね。

以上です。

2012年10月30日火曜日

[Mac] Firefox, Chrome, Sleipnirで見ているページをSafariのリーディングリストに送るAppleScript

iPhoneでオフラインでもウェブページが見れるようにしたい。
つまり、Safariのリーディングリストを使いたい(もちろん他にもありますけど)。
でも日頃はFirefox、Chrome(Sleipnirも追加)を使っており、リーディングリストのためだけにSafariを立ち上げるのは面倒です。

少し調べてみると、以下のサイトがあったので参考にさせていただきました。ありがとうございます。
Chrome版は1つめのサイトで即完了。しかしFirefox用は2つ目も合わせてAppleScriptを作ったので備忘録として載せておきます。これをアプリケーションとして作っておけば、Alfredなどのランチャーを使ってさっと起動してリーディングリストに送れます。
しかし、FirefoxはApplescriptの点ではダメなブラウザですね…。なお、Firefox用AppleScriptの最後の行は、上記サイトのものではアプリケーション実行後にSafariが起動したままだったので追記しました。

2013年11月12日追記
  1. Firefox用スクリプトの一行目と後のgui_checkの部分は無くても動作することが分かりました。元々は必要だったみたいですが、MavericksにしたせいかFirefoxのバージョンが上がったせいなのか分かりませんがエラーが出ました。詳しいことは検証できていませんが、現在ではgui_check()がなくても問題なく動作しますのでコメントアウトしてあります。コピペして使用されるときはコメントアウト部分は削除していただいて大丈夫です。
  2. Sleipnir用スクリプトも追加しました。 
    ※たまに動作しません。。。が、とりあえず載せておきます。
    • with title "from Sleipnir"
      という部分はSleipnirで開いているタブのタイトルを取得する方法がわからなかったために苦し紛れに入れています。タイトルがないとリーディングリストに追加できないみたいなので。スクリプト実行後すぐにSafariでリーディングリストを確認すると、オフライン用に保存する前はタイトルが from Sleipnir になっていますが、保存が終わるとページのタイトルを自動的に取得してくれます。さすがSafari。なので、とりあえずこの書き方でも問題なく動作します。
    • key code 53
      という部分はescキーを押すことと同じです。
      番号の割り当ては AppleScript Key Code List を参照してください。

Chrome

tell application "Google Chrome"
 set myURL to get URL of active tab of first window
 set myTitle to get title of active tab of first window
end tell
tell application "Safari" to add reading list item myURL with title myTitle

Firefox

-- my gui_check()
set temp to the clipboard as text
tell application "Firefox"
 activate
 set myTitle to the name of front window
 tell application "System Events"
  keystroke "l" using {command down}
  keystroke "c" using {command down}
  delay 0.5
  set myURL to the clipboard as text
 end tell
end tell
tell application "Safari" to add reading list item myURL with title myTitle
delay 0.5
set the clipboard to temp as text

(* to gui_check()
 tell application "System Events"
  if UI elements enabled is false then
   tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.universalaccess"
    set msg to "GUI scripting is not available." & return & "Do you put the check in" & return & "\"Enable access for assistive devices\" ?"
    --display dialog msg buttons {"OK"} default button "OK" with icon note --giving up after 10
    display dialog msg buttons {"cansel", "check and try"} with icon note
   end tell
   set UI elements enabled to true
   delay 0.5
   tell application "System Preferences" to quit
   delay 0.5
  end if
 end tell
end gui_check *)
tell application "Safari" to quit

Sleipnir

(2014年1月23日追記)すみません、下記を以前テストしたときには動いたのですが、たまにうまくいきません。。。改善の余地ありですが時間があるときにやります。。。
set temp to the clipboard as text
tell application "Sleipnir" to activate
tell application "System Events"
 keystroke "l" using {command down, option down}
 keystroke "c" using {command down}
 key code 53
 delay 0.5
 set myURL to the clipboard as text
end tell

tell application "Safari" to add reading list item myURL with title "from Sleipnir"
delay 0.5
set the clipboard to temp as text

tell application "Safari" to quit

しかし…

「リーディングリストに登録したらオフラインでも読める」というのはいつまでなんでしょうかね。かなり前にリーディングリストに追加した記事に久しぶりにアクセスすると「Page not found」と出ました。おそらく一定期間か、一定サイズのどちらかしかオフライン用に保存できないのでしょうね。。。使えるんだか使えないんだか、この機能。いつまでも保存しておきたいなら別のサービスを使ったほうが良いでしょうね。

2012年8月25日土曜日

Summer Sonic 2012 感想

サマソニ2012行ってきました。
私が行ったのは東京会場、18日(土)のみです。

サマソニは2回目の参加。一回目は18の頃、サマソニ2000(第1回)@大阪にて…どんだけ昔なんや。そのときは初めてTahiti 80見たり、そのころハマってたBen Folds Fiveで盛り上がったり。懐かしいですね。 後で知ったのですが、このときのサマソニがSigur Rosの初来日。全然知らんかったです。まぁ高校生ですもんね…。まだ賑やかな音楽が好きな時期でした。

で、今回12年ぶりのサマソニ。サマソニに出るミュージシャンはR&Bや、ロック、ラウド系が多いので敬遠していましたがSigur Rosが出るということで1日券で行きました。
見た順に備忘録つけておきます。

1. GRIMES

SONICステージ。初めて聞いたんですが、ボーカルが面白いことしててわりと好きな音でした。ただどこか「ティーンアイドル臭」がしてグッとは来なかったです。

2. St. Vincent

続けてSONICステージです。グッと来ました。これはかっこいい。ギターエフェクタが変です。でもキレてます。
今回一番の掘り出し物でした。

3. 吉井和哉

SONICステージからパラパラ雨の中、遠路マリンステージまで。東京会場初めてなんですが遠いですね…。
さて、吉井和哉は懐かしのイエモン曲、SPARKから始まりノスタルジック。
途中で大粒の雨が降ってきてたまらず2階席から3階席へ移動。でも雨は容赦なく振りこんできます。避難してる人もけっこういましたが、アリーナはずっと盛り上がってましたね。ラストはJAM。さすがに、グッと来ました。

4. DEATH CAB FOR CUTIE

Mountainステージ。このあたりまで来ると老体ゆえに疲れが出てきていました。まだ4つ目なのにねw
デスキャブは好きなので出来る限り聞きたかったのですが、ギブアップして寝ながら聞いてました。しかしThe New Yearが流れるとテンションあがって前の方へ。終わったらまた下がりました。やっぱ安定の演奏、良曲。さすがデスキャブです。

帰り道、中国から来たバンド MERCY&SORROW をアイランドステージで見ました。サマソニのウェブサイトに載っていた音源はシューゲイザーぽくてちょっと良いかもと思ってたのですがライブはいまいち…。

5. Sigur Ros

さてさて、ついに本命です。このために一日券15,000円払ったといっても過言ではない。
Mountainステージは超満員。予定開演時刻を少し過ぎて始まりました。
1曲目はイントロ?のような曲。アルバムには入ってないように思います。
2曲目はValtariからVarud。いきなり盛り上げていきます。
今回のステージは本当にずっと飛ばしてました。
いくつか載せておきます。
Ágætis ByrjunからはViðrar vel til loftárása
Svefn-g-englar

など。

Takkからも。
Glosoli
Hoppipolla

など。まだまだ他にもたくさん演ってくれましたが、轟音系の有名な曲ばかりを続けて演奏。息つく暇がない。
ベストアルバムが出るとしたら、まんまこのレパートリになるんじゃないかというくらい。
ただただ、圧巻でした。

ラストはお決まりの、( )からPopplagid。
 

ほんとSigur Rosは最高です。プライスレス。

自分もバンドをかじったこともあるので、思うのです。たかだか4人くらいの編成でこれだけ皆違う音を出せるって、すごいなと。 そんなことを感じたフェスでした。

2012年8月5日日曜日

[Mac] モバイルWiFi経由のリモートディスク時に気をつけること

先日Macbook Air(MBA)を購入し、ブログでも書いたとおり「移行アシスタント」を使ってこれまでのMacbook Pro(MBP)から環境を移しました。しかしそのときにAdobe系のアプリケーションがうまく移行できず問題発生。
これは再インストールしなくてはならない、ということでリモートディスクによるDVD共有を試してみました。
しかし、ここでもまた問題が。
MBAでMBPに入れたインストールディスクを読もうとしても、「オリジナルの項目が見つからないため操作を完了できません」とのメッセージが出ます。再起動したり、何度やっても無理なため、Appleサポートセンターに電話しました。
そして解決に至ったので、ここでメモしておきます。結論から書くと、リモートディスクで経由しようとしていたPocketWiFiのプライバシーセパレータ設定が問題でした。
この設定は他のモバイル用WiFiルータで同様だと思いますので、参考になれば幸いです。

環境

  • リモートディスクのホスト:Macbook Pro 15 (2010 Mid) OSX 10.7.4
  • リモートディスクのゲスト:Macbook Air 13 (2012) OSX 10.8
  • WiFi環境:EMOBILE GL01P

手順

  1.  まず、Macbookのハードウェアに問題がないことを確認(というか通常のリモートディスクの手順をおさらいです)
    1. ホストのシステム環境設定、「共有」で「DVDまたはCD共有」が「入」になっていることを確認(念のため他はすべてオフに)
    2. 読みたいディスクをホストに入れる
    3. ゲストでFinderを開き、「リモートディスク」という項目を選択
    4. ディスク名が表示されているはずなので、それを選択
    5. 内容が表示されなければ、Macbook自体には問題なく、WiFi環境の問題の可能性が高い(表示されればそもそもリモートディスクはできています)
  2. GL01Pのプライバシーセパレータ設定を確認
    ここからは私の環境での手順です。モバイル機器の設定にアクセスする方法は各々のマニュアルを参照してください。
    1. WiFiにアクセスしている状態でブラウザを立ち上げ、「192.168.1.1」とアドレスバーに入力し設定にアクセス
    2. 「EMOBILE GL01P設定ツール」にアクセスできます
    3. 左のメニューから「設定」を選択
    4. 「無線LAN設定」、さらに「無線LAN基本設定」を選択
    5. いくつか設定項目が出てくると思いますが、「プライバシーセパレータ」の状態を確認
      1. これが有効になっていると、リモートディスクが使えません
      2. 無効になっていれば、設定は問題ないです。また別の原因でしょうね…。
    6. プライバシーセパレータを「無効」にします
    7. 後は表示に従って、設定を完了させます
  3. ホスト、ゲストともに再起動をし、さきほど設定を変更したWiFiにつなぎます。
  4. 再度、手順1を行い、リモートディスクが出来るか確認します。なお、 私の環境ではディスクを読み込むのに30秒ほど待ちました。
このプライバシーセパレータ設定は、モバイルWiFiでは通常有効になっているのがデフォルトだそうです。ファイルに勝手にアクセスされないようにするためです。「ファイル共有」もこれが有効になっていると使えません。ですのでセキュリティを高めるためならプライバシーセパレータ機能は有効にしておいた方が良いでしょうね。