こにしき(言葉・日本社会・教育)

関西学院大学(2016.04~)の寺沢拓敬のブログです(専門:言語社会学)。

R

Rで折れ線の脇にラベル(凡例)をつける

R

#質問 Rでこういうグラフ(=折れ線の終端にラベルがついていて、色や線のタイプの違いが見にくくても、線とラベルの対応が分かるグラフ)を作るのに、一番よい方法は何でしょうか? ご教示頂ければ幸いです。 #TokyoR #rstatsj URL2016-04-03 10:19:47 via …

自分用メモ、相関係数の信頼区間

R

じつは(というほどのこともないが)、相関係数(Pearson's product-moment correlation)の信頼区間の算出方法をよく理解していなかったので勉強した。いままではR標準の cor.test() に頼ってました。このページを参考にさせてもらった。母相関の検定と推定…

処理の終了を音で知らせてくれるR関数

R

「そんなものあるか!」と思ってたらあった。なんでもあるな(笑) alarm() デフォルトのビープ音を鳴らす関数。 もちろん「音で教える」というのがこの関数のそもそもの目的ではないだろうが、スクリプトの末尾に alarm() を書いておけば、その用途として使…

楽しい(無駄な)Rアート、その2

楽しい(無駄な)Rアート - こにしき(言葉、日本社会、教育) ←この続編。 こころの赴くままに描いてみました。 完全オリジナルです。 Script x <- runif(10000) y <- runif(10000) col1 <- ifelse( ((y-.5)^2 + (x-.5)^2 >0.3)&((y>.5)&(x<.5)), "#804000"…

楽しい(無駄な)Rアート

n <- 2200 X <-runif(n,-1,1); Y <-runif(n,-1,1.5) a <- ifelse( (Y>(X^2)^(1/3)-sqrt(1-X^2))&(Y

ロト6の当選番号を予想するR関数

いつもロト6が当たらない、とぼやいている人がいたので、いたたまれなくなって、作ってみました。 当たるといいですね! LOTO6 <- function(x,y,z,v,w){ x <- order(runif(43))[1:6] x[order(x)] } 使い方 Rを起動して LOTO6() のカッコの中に、必要事項を記…

Rでグラフの文字をたて書きにする

R

Rのデフォは当然横書きだと思って、たて書きは無理だとあきらめてたんだけど、以下のサイトを見て、発想の転換をすればできるということがわかった。 plotで軸タイトルを縦書きにする - Qiita 改行(\n)をはさむ、という単純な話だったんだけど、思いつかな…

独立変数にダミー変数が含まれるロジスティック回帰モデルから平均生起率を取り出すRスクリプト

R

スクリプトはこちら https://dl.dropboxusercontent.com/u/4689919/BLOG_Pict/predict_avr.R スクリプトを走らせた結果 > data(infert) #自然・人工流産後の不妊症に関するデータ > > #まず、不妊症の有無の予測モデルを作成 > res <- glm(case ~ age + pari…

重回帰分析で標準化回帰係数βを出力するR関数

R

今回のRに関する記事はマジメです。役に立つ人には多少は役に立つかもしれません。 Rのデフォルト関数で、標準化回帰係数を出力してくれるものはないよう。 独立変数がすべて量的変数ならたとえば、scale() などを介すことで簡単に計算できます。 しかし問題…

ライフスタイルのコーディング用R関数

R

誰がこんな関数つかうんだよのコーナー! 職種、就業上の地位(無職/学生を含む)、企業規模、性別、既婚未婚を分岐条件にした、比較的複雑なコーディングを行うR関数。 たとえば以下の様なコーディング・ルール。 職種 就業上の地位 企業規模 性別 配偶者…

傾向スコア分析のRパッケージ(個人的メモ)

R

最近、傾向スコア分析を再勉強している。非常におおざっぱに言えば、無作為割り当てが不可能な調査観察データにおいて、擬似的に無作為割り当て状況を作り出す手法。もう少し噛み砕いて言えば、「似たもの同士」を探してそのペアを比較する手法と言えばわか…

二人の相性(%)を瞬時に判定するR関数

R

この前、教えている学生が、チラシの裏にびっしりと数字を書き込んでいた。サイコな雰囲気が醸しだされていて、けっこう気持ち悪い光景だったんだけれど、聞いてみると「名前占い」とのこと。 プロポーズ大作戦の3話であってた相性占いってどうやってするん…

「アイラヴユー」を伝えるR関数

R

SPSSをやめて、Rをはじめたら彼女ができました!(東京都・大学院生) 以下をコンソールにコピペしてください。 ILoveYou <- function(n = 500, col=2, col.bg=8,pch=1){ X <-runif(n,-1,1) Y <-runif(n,-1,1.5) a <- ifelse( (Y>(X^2)^(1/3)-sqrt(1-X^2))&(Y

信頼区間をあわせてプロットするR関数

2015年9月7日追記 中澤先生のツイートで知りましたが、信頼区間をプロットする関数を含んでいるパッケージがすでに存在するようです。 http://www.inside-r.org/packages/cran/plotrix/docs/plotCI こちらを使うことをお勧めします。 plotrixパッケージにplo…

ラベルが重ならないよう自動的に調整してプロットする関数

R

表題の通り。 次の「スイスデータ」のように各ケース自体に重要な意味があり、かつ、ケース数がけっこう多いデータを、Rのデフォ関数でプロットすると、図のように文字が重なってしまうことがあります。 > data(swiss) #スイスデータをロード > > # デフォル…

4次のクロス表用ログリニア解析のためのR関数

R

誰がこんな関数使うんだよのコーナー! つくったのでアップします。ただし、モデル設定がかなり個人的な事情を反映してますので、ご使用の際はご注意下さい。 とりあえず以下をコピー&ペースト ### 注意!!! ### 以下は、4次のクロス表で2番目、3番目、4…

”(※ただしイケメンに限る)” をランダムに挿入するR関数

R

ヘルプを探し回りましたが、ないので作りました。 ご自由にお使い下さい。 以下をコピペしてください tadasi <- function(text,p){ x1 <- unlist(strsplit(text,NULL)) res <- NULL for( i in 1:length(x1)){ if(x1[i]!="。" & x1[i]!="." & x1[i]!="!"){ #…

Fukuta's U を算出するRスクリプト

UverWorldに似ていると言われた回数から、Fukuta's U を返すRスクリプトを作りました。 ご自由にお使い下さい。 スクリプト 以下をコピー&ペーストしてください FukutaU <- function(c){ 0.5 / (exp(1/c) - 0.5) } Fukuta's Uの概要 UverWorld のボーカルの…

SSM職業コード(数字3桁)を職種名に変換するR関数

だれがこんな関数使うんだよのコーナー recode() 関数を利用しているので、 > library(car)で「car パッケージ」を読み込んでおいてください。 たぶん、深刻な間違いはしていないと思いますが、たとえば「そんな職業名じゃない!」など、なにかお気づきの点…

AZC値を算出するRスクリプト(バンドメンバーの独占度を示す指標)

スクリプト 以下をコピー&ペーストしてください azc <- function(m){ sum(max(m/sum(m)) - (m/sum(m)) )/( length(m)-1) } 定義 あるバンドにおいて、特定の人物(一般的にボーカル)に人気・知名度・貢献度が一極集中している度合を、「安全地帯」にちなみ…

Rの日本語を含む図を文字化けせずにepsで出力する

R

Rで日本語の文字を含んだ図をepsで出力しようとすると、うまく反映されないはずです。 解決策として今まで僕は、次のようなのをつかってきました。 日本語をやめて英語で表現する ローマ字で表現する .emf などで出力してからコンバータなどで .eps に変換す…

雑誌『英語教育』のトレンド分析(および grep()関数について)

この記事(雑誌『英語教育』(戦後)の量的傾向をざっと見る - こにしき(言葉、日本社会、教育))の続きです。前述の『英語教育 Fifty』附録の記事タイトルのデータはエクセル形式で提供されていたはずなので、表計算ソフトなどをつかえば、ある用語のトレ…

有意確率をアステリスクに変換するRスクリプト

hoshi(x) hoshi <- function(x,ns){ X <- NULL for(i in 1:length(x)){ if(x[i] < .001){X[i] <- c("***") }else{ if(x[i] >= .001 & x[i] < .01){X[i] <- c("**") }else{ if(x[i] >= .01 & x[i] < .05){X[i] <- c("*") }else{ if(x[i] >= .05 & x[i] < .1 )…

ログリニア解析、試行錯誤

R

3次のクロス表のログリニア分析が、さっとスタイリッシュ(笑)にできたらいいなあと思いつつ色々試行錯誤するもうまくいかず。とりあえず眠いので作りかけの部分をメモしておく。 # 三つの変数 A, B, & C をもとにクロス表 ### x <- table(A , B , C) ### …

日本語文の名詞をランダムに「ヒャッハァー!」に置換するRスクリプト

RMeCabのインストールが必要 → library(RMeCab) 関数本体 hyahhaaa <- function(x,y){ a <- RMeCabC(x) for(i in 1:length(a)){ if(names(a[[i]]) !="名詞"){ # 名詞/非・名詞で分岐 b[i] <- a[[i]] # 名詞でなければ、そのまま }else{ # 名詞であれば、 if…

名詞の後ろに「(笑)」をつける関数

あらかじめ、 形態素解析エンジン和布蕪(MeCab、めかぶ) および、そのR用のパッケージとして、 RMeCab のインストールが必要です。詳細は例えばこちらをご参考にしてください→"RMeCab作成者・石田基広先生による解説(PDF)" (笑)添付関数:RKakkoWarai(…

メモ:Rで信頼区間も併せてプロットする

R

http://www.okada.jp.org/RWiki/?Tips%2F%A5%A8%A5%E9%A1%BC%A5%D0%A1%BC%A1%A6%BF%AE%CD%EA%B6%E8%B4%D6 plot() と arrows() を合わせてやると簡単にできる。 なので、専用のパッケージを新たにインストールする必要は特になさそうだ。 ポイントは、 arrows…

リスト形式のオブジェクト重複を削除する

リスト形式をtransactions形式に変換する際、重複があるとエラーを吐き出すらしい。 (こちらのページを参考にさせていただきました。多謝。→http://d.hatena.ne.jp/hiru926/20100103/1262508600) というわけで、ヘルプなどを探し回たんだけど、私の「検索…

外国語教育研究に「統計ソフトR」を使おう!(その3)

R

応援コメントを頂いたので元気がでてきました(笑)。ありがとうございます。 実践編(実際の分析事例)は、寺沢が春休み中に個人的に開催するR勉強会と連動する(というか、勉強会用のレジメ等をこちらに使い回す)予定なので、しばしお待ち下さい。 さて、…

外国語教育研究に「統計ソフトR」を使おう!(その2)

R

外国語教育研究に「統計ソフトR」を使おう!(その1)の続編です。以下の(独善的)フローチャートに基づいて、Rの意義をご説明します。 (1)自分で統計解析をする必要があるか? 外国語教育研究に携わるのであれば、論文の多くが計量的な手法で行われている…