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などの書き方でも可能のようです。勉強必要。

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