簡単な活動記録

半年もブログをほったらかしていました。。

すみません。。

 

ほったらかしてた間に、Tokyo.Rで、

初心者セッションで1回、LTで1回発表しました。

Tokyo.R #72 初心者セッション3 - Speaker Deck

 

LTでは、劇判作家の澤野さんについて語りました。

Tokyo.R#73 LT - Speaker Deck

 

2019年は、もっとブログを更新出来るように、

データ分析関連の活動を頑張ります。

やりたいこともあるし。

2018年にやり残したことを、完遂したぃ。

 

『RユーザのためのRStudio[実践]入門』を恵贈いただきました。

著者の方から、『RユーザのためのRStudio[実践]入門』、

略して宇宙本をご恵贈いただき、

かつ発売からそんなに日が経たないうちに(とはいえ1週間経ってますが)

読了しましたので、感想を書かせていただこうかな、と思い、

久々にブログ記事を書くことにしました。

とはいえ、こういう宣伝っぽい記事を書いたことがない上に、

作文がヘタクソなので、

著者の方々には大変申し訳ないのですが、

効果は期待して頂かない方が良いかと。。すみません。。

 

書籍はこちらになります。

https://www.amazon.co.jp/dp/B07F1KL3KR/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

 

この書籍は、「はじめに」の章でも書いてありますように、

分析の一連の流れにおいて、RStudioやtidyverseに含まれるパッケージを

どう活用するか、という点に焦点をあてた本だと認識しております。

(違ったらすみません。。)

「Rを使い始めて少し経ったけど、もっとうまいこと使えるようになりたい」

という方には便利な書籍かと思います。

あとは、分析の流れに沿って構成されているので、

「RStudioとかtidyverse使って、こんなことができるのね、ふーん」

というのを頭に入れてもらうと、他の書籍を読む際の字引として

使えるんではなかろうか、と思います。

「Rってなに?」という方が読むと、ちんぷんかんぷんになる可能性もあるので、

そういう方は、他の書籍を読むなり、

Rの初心者向けの勉強会に参加するなりしてから、

この書籍を読むと「はっはーん。なるほどね」となるんでは

なかろうか、と思います。知らんけど。

 

ワテクシは、RStudioもtidyverseに含まれるパッケージも、

「何となく使ってるユーザ」の一人なので、

このように書籍に体系だててまとめていただけると、

自分が何を知っていて、何を知らなかったのか、に

気づくことができてありがたいです。

過去にTokyo.Rでggplot2を使った可視化に関する発表もしましたが、

この書籍の4章を読んで、「この説明分かりやすい!助かる!」とか

「statとかpositionとか触れてなかったけど、確かに必要かも!」とか、

「aes()って”エス関数”って言えばいいのか!」とか、色々知ることができ、

自分もまだまだ精進が必要だな、と痛感した次第でございます。

 

4章以外の章でも、個人的に新たな知見を得ることが出来たので、

ワテクシとしては満足な書籍でした。

あと、著者の皆様の文章が分かりやすくて、本当にありがたかったです。

 

この記事をみて、まだ書籍を手に取っていない方がいらっしゃれば、

ぜひ本屋に足を運んで頂いて、パラパラと中身を見て頂いて、

「この本いいな」「自分のレベルに合ってるな」と思ったら、

そのままレジに持っていくなり、

その場でKindle版をポチるなりして頂ければと思います。

中身見ずに印税に貢献するのも、もちろんありだと思います!

 

あんまり、書籍の中身に触れる記事ではなくなってしまいましたが、

この辺で失礼します。

Tokyo.R #70 で発表しました

Tokyo.R #70 「ベイズ・統計モデリング回」(ちゃんと名前ついてた訳ではないけど)にて

初心者セッション2を担当しました。

うまく喋れた気が全くしないので、まだまだ要精進です。

 

atnd.org

 

資料はこちらになります。

https://www.slideshare.net/secret/bKnQdsOodauEUu

 

Rコードを資料に記載できなかったので、

こちらに記載しておきます。

※実データの部分は、諸般の事情で抜いてます。

あえてset.seed()は設定していないので、

何回も乱数生成→プロットを繰り返して、

「乱数生成って本当に乱数生成してんだな」ってところを感じていただければ。(何を言ってるんだ)

 

# パッケージのインストール
library(tidyverse)
library(extraDistr) 
library(metRology) 


# 標準正規分布 ----------
# 乱数生成
X <- rnorm(5000, mean = 0, sd = 1) 

# データフレーム化
df <- data.frame(X = X)

# プロット
ggplot(df_unif, aes(x = X, y = ..density..)) + 
  geom_histogram(bins = 50, alpha = 0.8) + 
  stat_density(position='identity', geom='line', 
               colour = "#D02090") +
  theme_bw() + 
  guides(fill = "none")


# 一様分布 ----------
# 乱数生成
X_unif <- runif(5000, min = 0, max = 1)
# データフレーム化
df_unif <- data.frame(X = X_unif)

# データの可視化
# プロット
ggplot(df_unif) + 
  geom_histogram(aes(x = X), bins = 50, alpha = 0.8) + 
  theme_bw() + 
  guides(fill = "none")


# ベルヌーイ分布 ----------
# 乱数生成
X_bern <- extraDistr::rbern(5000, prob = 0.5)

# データフレーム化
df_bern <- data.frame(X = X_bern)

# プロット
ggplot(df_bern) + 
  geom_histogram(aes(x = X), alpha = 0.8) + 
  theme_bw() + 
  guides(fill = "none")


# 二項分布 ----------
# 乱数生成
X_binom <- rbinom(5000, size = 100, prob = 0.5)

# データフレーム化
df_binom <- data.frame(X = X_binom)

# プロット
ggplot(df_binom) + 
  geom_histogram(aes(x = X), alpha = 0.8) + 
  theme_bw() + 
  guides(fill = "none")


# 正規分布 ----------
# 乱数生成
X_norm <- rnorm(5000,  
                mean = 8471,       # 実データの平均
                sd = 3765.519)    # 実データの標準偏差

# データフレーム化
df_norm <- data.frame(X = X_norm)

# プロット
ggplot(df_norm, aes(x = X, y = ..density..)) + 
  geom_histogram(bins = 30, alpha = 0.8) + 
  stat_density(position='identity', geom='line', 
               colour = "#D02090") +
  theme_bw() + 
  guides(fill = "none")


# Studentのt分布 ----------
# 乱数生成
X_t <- metRology::rt.scaled(5000, df = 5, 
                           mean = 8471,        # 実データの平均
                           sd = 3765.519)      # 実データの標準偏差

# データフレーム化
df_t <- data.frame(X = X_t)

# プロット
ggplot(df_t, aes(x = X, y = ..density..)) + 
  geom_histogram(bins = 30, alpha = 0.8) + 
  stat_density(position='identity', geom='line', 
               colour = "#D02090") +
  theme_bw() + 
  guides(fill = "none")


# コーシー分布 ----------
# 乱数生成
X_cauchy <- rcauchy(123, 
                location = 8471,     # 位置パラメータ(実データの平均)
                scale = 3)                # 尺度パラメータ(適当)

# データフレーム化
df_cauchy <- data.frame(X = X_cauchy)

# プロット
dens <- density(df_cauchy$X) 
ggplot(df_cauchy, aes(x = X)) + 
  geom_histogram(aes(y=..density..), bins = 30, alpha = 0.8) + 
  geom_density(colour = "#D02090") + 
  theme_bw() + 
  xlim(range(dens$x)) +
  guides(fill = "none")


# 対数正規分布 ----------
# 実データの平均・標準偏差に合わせて乱数を生成する
sdlog <- sqrt(log((3765.519/8471)^2 + 1))
meanlog <- log(8471) - (sdlog^2) / 2
X_rlnorm <- rlnorm(5000, meanlog = meanlog, sdlog = sdlog)

# データフレーム化
df_rlnorm <- data.frame(X = X_rlnorm)

# プロット
ggplot(df_rlnorm, aes(x = X, y = ..density..)) + 
  geom_histogram(bins = 30, alpha = 0.8) + 
  stat_density(position='identity', geom='line', 
               colour = "#D02090") +
  theme_bw() + 
  guides(fill = "none")


# ポアソン分布 ----------
# 乱数生成
X_pois <- rpois(5000, 
                lambda = 3.725)      # 実データの平均値

# データフレーム化
df_pois <- data.frame(X = X_pois)

ggplot(df_pois, aes(x = X)) +  
  geom_histogram(bins = 30, alpha = 0.8) + 
  theme_bw() + 
  xlim(0, 30) + 
  guides(fill = "none")


# ゼロ過剰ポアソン分布 ----------
# 乱数生成
# ベルヌーイ分布で、0の多い0/1の乱数を作成
# rbinom()でsize=1を指定してもできます
# 170/1000は、実データの比率
X_bern <- rbinom(n = 5000, size = 1, prob = 170/1000) 
# ポアソン分布に従う乱数生成
X_zero_pois <- c(rpois(2000, lambda = 3.725), X_bern[X_bern == 0])

# データフレーム化
df_zero_pois <- data.frame(X = X_zero_pois)

# プロット
ggplot(df_zero_pois, aes(x = X)) + 
  geom_histogram(bins = 10, alpha = 0.8) + 
  theme_bw() + 
  guides(fill = "none")


# 指数分布 ----------
# 乱数生成
X_exp <- rexp(5000, rate = 170/1000)

# データフレーム化
df_exp <- data.frame(X = X_exp)

# プロット
ggplot(df_exp, aes(x = X, y = ..density..)) +  
  geom_histogram(bins = 20, alpha = 0.8) + 
  stat_density(position='identity', geom='line', 
               colour = "#D02090") +
  theme_bw() + 
  guides(fill = "none")


# ガンマ分布 -----------
# 乱数生成
shape = 3       # 3回実施する
rate = 30 / 7   # 1週間に1回 / 1ヶ月に3回
X_gamma <- rgamma(5000, shape = shape, rate = rate)

# データフレーム化
df_gamma <- data.frame(X = X_gamma)

# プロット
ggplot(df_gamma, aes(x = X, y = ..density..)) +  
  geom_histogram(bins = 20, alpha = 0.8) + 
  stat_density(position='identity', geom='line', 
               colour = "#D02090") +
  theme_bw() + 
  guides(fill = "none")


# ある番組の視聴人数のシミュレーション ----------
N <- 7           # 1週間(7日)
X <- 1:N        # 1周期のタイムポイントの数
Intercept <- 50  # 一番最初の値          (※適当)
gamma <- 0.7    # 指数関数の係数(0-1の値)         (※適当)
r <- 10                # リフトする係数         (※適当)

# 1周期目
mu_1 = c(Intercept * gamma ^ X)
# 2周期目
mu_2 = c(mu_1[N] * r * gamma ^ X) # 1周期目の最後の値を2倍して、それが切片
# 3周期目
mu_3 = c(mu_2[N] * r * gamma ^ X)
# 4周期目
mu_4 = c(mu_3[N] * r * gamma ^ X)
# 4周期分をがっちゃんこ
mu <- c(mu_1, mu_2, mu_3, mu_4)

# 指数関数で"Xが上がるほど切片が減衰する"のデータをYに
Y <- rnorm(4 * N, mean = mu, sd = 0.5)

# プロット
X_label <- 1:28 # 1:7を4回くりかえしたので、X軸として1:28をうつ

goboten_udon <- data.frame(X = X_label, Y = mu) %>%
  ggplot(mapping = aes(x = X, y = Y, colour = Y)) +
  theme_bw() +
  geom_point(size = 2.5) +
  geom_line(mapping = aes(y = mu), size = 1.5, alpha = 0.5) +
  scale_colour_gradient(low = "#00868B", high = "#4169E1") +
  guides(colour = "none")

plot(goboten_udon)

 

ベイズ・統計モデリング回」は、個人的にやりたかった回なのですが、

実際にやってみると、参加者の皆様が楽しみにしてくださったみたいで、

企画してよかったなぁ、と思いました。

いつもと違う内容にも関わらず、レベル高く発表してくださった

@kilometer00さん、@y__mattuさんには、感謝しかありません。。

本当にありがとうございます。

受付や懇親会準備等で色々手を動かしてくださった運営メンバーの皆様にも

本当に感謝です。

あと三銃士はすごかった。。神やった。。

お忙しい中、素晴らしい発表をしてくださり、本当にありがとうございました。

eVennパッケージを使ってベン図を描くときのメモ

タイトルの通りですが、つまづいたので備忘録としてメモします。

ブログを初めて最初の技術っぽい記事ですが、あまり時間が取れないので、やや適当です。。

時間が取れたら追記するかも?

 

Rでベン図を描くためのパッケージには色々ありますが、

 ・ベン図の中に実際の数値を入れたい

 ・使用するデータが、各レコードが、

  どのグループに属すか(ベン図でいうところの丸)を、01で持っているデータ

 ・デザインが一番好み

という理由で、eVennパッケージを選びました。

https://cran.r-project.org/web/packages/eVenn/eVenn.pdf

 

使うにあたり、からだにいいものさんの記事を参考にさせて頂きました。

www.karada-good.net

まずはパッケージをインストールします。  

install.packages("eVenn")
library("eVenn")

 

からだにいいものさんが使用しているデータが、ワテクシが使用したデータと似たような感じなので、

そのまま使わせて頂くと、

# サンプルデータ作成
n <- 100
VennData <- data.matrix(data.frame(Data1 = sample(c(0, 1), n, replace = TRUE),
                                   Data2 = sample(c(0, 1), n, replace = TRUE),
                                   Data3 = sample(c(0, 1), n, replace = TRUE))

# ベン図を描く(今回は3変数)
# prop=TRUEにすると、円の大きさが、所属するデータの数で変化したベン図を作成できます。
evenn(matLists = VennData[, 1:3], pathRes = "", prop = TRUE,
      display = FALSE, CompName="contents_venn2")

すると、以下エラーが出ました。

order(rownames(data_all)) でエラー:  引数 1 がベクトルではありません

「あれ?ワテクシ、order()なんて書いてないぞ?うん?」

ってなって、色々試行錯誤した結果、

使っているmatrixにrownameをつけてやれば解決しました。

# サンプルデータ作成
n <- 100
VennData <- data.matrix(data.frame(Data1 = sample(c(0, 1), n, replace = TRUE),
                                   Data2 = sample(c(0, 1), n, replace = TRUE),
                                   Data3 = sample(c(0, 1), n, replace = TRUE))

# 行名を付与
rownames(VennData) <- c(1:100)

#ベン図を描く(今回は3変数)
evenn(matLists = VennData[, 1:3], pathRes = "", prop = TRUE,
      display = FALSE, CompName="contents_venn2")

f:id:koriakane:20180329211834p:plain

f:id:koriakane:20180329212049p:plain

無事出ました。

本当にこの解決方法でよかったのかは謎です。。

退職エントリたるものを書く

そういえば、退職エントリたるものを書いていなかったなぁ、と思い、

いっちょまえに書いてみようかと思います。

......と思ったのですが、転職したきっかけ等をつらつら書いても、

愚痴っぽくなりそうで、面白いものではないなぁ、と思ったので、

書くのをやめました。

 

今年の1月から、新たな職場で働き始め、1ヶ月が経ち、

コミュ障な自分もやっと職場に慣れました。。

前職と同じく、データ分析関連の仕事をしてますが、

前職の環境とは、かなり異なるため、

良い刺激を受けています。

 

今後は、仕事だけに時間を使うのではなく、

勉強や、引き続きTokyo.R関連での活動にもリソースを割けるように、

バランスよく時間を使えるよう精進します。

 

ブログも更新したいものですな!

 

Tokyo.Rについて諸々

はじめに

こちらは、「コミュニティ Advent Calendar 2017」22日目の記事です。

adventar.org

先ほど見たら、ほぼ誰も記事を書いていませんでしたが、せっかくなので。

私@koriakaneが運営に携わっており、よく出没する、Tokyo.Rについて書きます。

※ほぼポエムです。

 

Tokyo.Rとは

Tokyo.Rとは、東京で開催されている、R言語の勉強会です。

R言語とは、主に統計解析で使用されているプログラミング言語です。

詳しくは、公式ホームページやWikipedia、もしくは「R とは」で検索した結果を

参照して頂ければと存じます。

R: The R Project for Statistical Computing

R言語 - Wikipedia

 

Tokyo.Rは、R言語を使用している、もしくはR言語に興味がある、

さらにはR言語は使用していないし使う予定もないけど、

勉強会の参加者に興味がある、という方まで、なんでもござれです。

発表内容も、Rでの分析事例から、Tips、さらにはRに関係のないことまで、

これまたなんでもござれです。

現時点で計66回開催している、歴史の長い勉強会となっております。

atnd.org

 

Tokyo.Rに参加し始める

私が初めてTokyo.Rに参加したのは、調べてみると、第55回のTokyo.Rでした。

もうすぐ1年半になるようです。驚き。

atnd.org

 

そもそもTokyo.Rを知ったきっかけは、大学の研究室でお世話になった教授に、

「就職で東京に来たけど、分析の話ができる知人がいない」と話したところ、

里さんを紹介してもらい、里さんの経歴を見て、

「Tokyo.Rっていう勉強会があるのか」と知ったことでした。

そのタイミングで、偶然にも第55回の参加枠が空いていたため、参加した、

......んだったと記憶しております。ほとんど覚えていませんが。

 

大学時代からRを使っていたため、ある程度の知識はあるし、

参加しても大体は理解できるだろう、という浅はかな考えで会場に向かったのですが、

発表者の方々の話を聞くにつれ、

「あれ、私が使ってたRと同じものの話をしてるのかな、これ......」という

気持ちになりました。

それくらいRでできることの幅が広く、自分がいかにちっぽけな世界にいたかを

痛感させられた覚えがあります。

 

その時の衝撃が強かったため、「これは勉強になる」と感じ、

その後も、時間の都合と参加者の空きがあれば、参加するようになりました。

(調べたら55回、56回、59回にしか、参加登録してませんでした。なんと)

 

運営に関わり始める

私はコミュ障で、人と話すのがすこぶる苦手なので、懇親会には参加せず、

発表が終わり次第帰っていたのですが、初めて懇親会に参加した時に、

「運営メンバーを募集します」という話がありました。

そこで何を思ったか「手伝います」と里さんに言ったところ、

次の回(60回?)から、受付をしていました。驚き。

今となっては、何故あの時「手伝います」と言ったのか、さっぱり覚えていませんが、

結果的には、偉大なる発表者の方々と話す機会ができ、

意図せず私のTwitterアカウントをフォローしてくださる方も増え、

人生が面白い方向に進んだ感じがします。

 

現在では、Tokyo.Rのお金の管理と、

初心者セッションの一部を担当するまでになりましたが、

「しているのと、できているのは、違う」ということを、

運営側として参加する度に痛感しております。

まだまだ伸びしろがあると感じさせて頂けるのは、ありがたいことです。

日々精進です。

 

運営して思うことあれこれ

運営に関わる中で、勉強会(並びにコミュニティ)の運営で思うことあれこれを

記載します。ほぼポエムです。

本記事を読んだ方で、何か良い案があれば、

何かしらの手段でアドバイス頂けると幸甚です。

 

なお、以下内容は、あくまで個人の考えであり、

Tokyo.R運営メンバーの総意ではないので、その旨ご了承頂きたく存じます。

 

発表について

勉強会を開催するにあたり、以下3点を事前に調整する必要があります。

  • 開催日時
  • 開催場所
  • 発表者

この中でも、特に発表して頂ける方の確保が、なかなか難しいです。

開催場所の確保も難しい部分はありますが、発表者は人数を確保する必要があるので、

難易度が上がると考えております。

 

Tokyo.Rは、大きく「初心者セッション」「応用セッション」「LT」の3部構成に

なっております。

「初心者セッション」は、Rを使い始めたばかり、もしくは、まだ使っていないが

Rに興味を持っている方向けの内容を、発表する場となっております。

「応用セッション」では、中級者・上級者向けに、主にRの最新パッケージや、

分析手法の紹介を発表する場となっております。

「LT」では、5分間で、発表者の方が自由にRや分析の話をする場となっております。

 

基本的には、「初心者セッション」「応用セッション」はそれぞれ3枠、

「LT」は6〜8枠用意しております。

「初心者セッション」は、運営メンバーで可能な限り担当し、

「応用セッション」では、色々な方に話して頂きたいと考えておりますが、

皆さんの都合もあるため、なかなか集まらない回もあります。

本当は、それも含めて運営メンバーで巻きとれるよう、

事前に準備しておくことが理想だとは思いますが、

運営メンバーの負荷が高くなるため避けたいですし、

個人的にも、色々な方の発表を聞きたいと考えております。

 

現時点では、Tokyo.Rの懇親会でのハンティングや、

以前発表して頂いた方に、直接依頼する、などの方法をとっています。

ですが、そもそもの発表して頂ける方の数を増やすことも重要だと

考えておりますので、今まで勉強会で発表したことのない方が、

気軽に発表できるような環境を作っていければいいな、と考えております。

具体的な策は今のところないですが。。

 

また、「初心者セッション」を運営メンバーで担当することにしているのですが、

初心者セッションが、これまた難しいのです。

なぜなら、ターゲットが読めない。

「Rをこれから触ろうとしてます」という人が多い回もあれば、

自称”初心者”しか参加していない回もあります。

どちらのターゲットにも役に立つ発表にするのは、かなり難易度が高いため、

ここは試行錯誤が必要だと考えております。

しばらくは、試行錯誤にお付き合い頂けると幸甚です。

 

勉強会の配信について

Tokyo.Rは、その名の通り、東京で開催しておりますが、

発表してくださる方の中には、遠方からはるばるお越し下さる方もいらっしゃいます。

その方々、さらには当日何かしらの理由で開催場所に行けない方に向け、

勉強会の様子を配信したいと考えております。

前回の第66回Tokyo.Rでは、ツイキャスを用いて配信しました。

Tokyo_R (@TokyoRCommunity) 's Live - TwitCasting

ツイキャスは、デフォルトでは、30分しか配信できないようですが、

どうやら閲覧している人から「コイン」をもらうと、延長できる、という

仕組みらしく、この仕組みは面白いな、と実施しながら思いました。

どれだけコインが集まったか、をデータとして蓄積しておいて、

後々分析したら指標として使えそうですし、何より楽しそうです。

 

ただし、配信を行うにあたり、一つ課題があります。

それは、発表者の意思を尊重しているか、ということです。

Tokyo.Rでは、(私が知っている限り)発表資料の公開を強制してはいません。

つまり、発表内容をインターネット上に残すか否かは、

発表者本人の意思に委ねております。

※個人的には、発表資料の公開は、発表者の方の優しさだと思っております。

 

ですが、ツイキャス等で配信すると、本人の意思に背き、

発表内容が公開されてしまう可能性があります。

前回の配信時には、配信が嫌な方は事前に伝えて頂くよう伝えましたが、

その場では言いづらい、という方がいらっしゃる可能性もあります。

私も以前、自身が発表している様子が、アカウントと紐づけられてTwitter上に

載ったことがありました。

その時は「別にいいか」と思いましたが、後々「やっぱり嫌かも」と

思った記憶があります。

 

そういった、その場では言いにくいことを言えずにモヤモヤしてしまい、

結果として、勉強会そのものが有意義にならないのは、

その方のためにならないですし、

私としても、できれば楽しんで帰って頂きたい、という思いがあります。

今後の回も配信を考えている以上、

そういった、発表者・参加者の方が不快な思いをする行為が発生した際に、

連絡する窓口を作っても良いのではないか、と考えております。

これは、配信の有無に限らず、何かしらのハラスメント行為が発生した際にも

対応できるようなもの(アンチハラスメントポリシーとか)を

作りたいと考えております。

この件に関しては、他の運営メンバーとも相談し、進めていく所存です。

 

その他、他にも書きたいことはございますが、

だんだん長くなってきたので、ここら辺でやめておきます。

今後、運営に関わる中で、さらにポエムが増えてきたら、

整理した上で、再度記事として記載する所存です。

 

終わりに

長くなってしまった上に、最後の方はややネガティブな話となってしまいましたが、

Tokyo.Rの運営は、基本的に”ゆるふわ”でやっております。

今後も"ゆるふわ"にやっていくために、できるだけ運営メンバーの負荷を

分散したいので、運営メンバーは引き続き募集しております。

Tokyo.Rの運営に興味のある方は、

Twitterアカウント@TokyoRCommunityに連絡して頂くか、

slackのr-wakalang内の#TokyoRチャンネルにJoinして頂けると幸甚です。

 

twitter.com

qiita.com

 

拙文失礼しました。

ではでは。

 

あ!

Tokyo.Rも、是非参加してみてください!!

次回は、1/20(土)開催予定です。

最新情報は、@TokyoRCommunityにて配信予定なので、

チェックしてみてください。

ブログを始めました

ブログを始めました。

よろしくお願いします。

 

基本的には、自身の勉強のアウトプットが多いかと思います。

また、”いい感じの”日本語を使うための

練習にも使おうと考えているので、

最初の方は、言い回しが変だったりするかと思いますが、

ご容赦ください。

 

ご連絡は、Twitter(@koriakane)にお願いします。

 

まぁ、気張らず、気長にやります。

面白いことができるといいな。