使い方の基本のメモ

install.packages("ggplot2")
library(ggplot2)

# data frameにNsサンプル、Nv尺度のデータを作る
Ns <- 100
Nv <- 4

# 4カテゴリ
r <- 4
# sample() 関数はランダムに値を振る
# データフレームの最初はdata.frame()関数を使って作る
df <- data.frame(v1 = sample(1:4, Ns, replace = TRUE))
# v1カテゴリに影響を受ける量的表現型を作る
# rnorm()は正規乱数を発生させる
df$v2 <- rnorm(Ns,sd=0.5) + df$v1
# v2に関連するv3を作る
df$v3 <- sin(df$v2) + 2
# v2とv3とに関連するv4を作る
df$v4 <- df$v2^2 + df$v3^3

# オブジェクト構造を見る
str(df)
# オブジェクトの頭の方だけを見る
head(df)

###############
# 1要素をプロットしてみる
hist(df$v2)

# データを格納しているデータフレームを覚えさせる
gp <- ggplot(data = df)
# 描く対象はデータフレームのv2であると教える
gp <- gp + aes(x = v2)
# 描くのはヒストグラムであると教える
gp <- gp + geom_bar()
# 描かせる
gp

# v1カテゴリ別に色をつける
# カテゴリは「数値」ではなくてファクター
f <- factor(df$v1)
gp <- ggplot(data = df)
# 描くのはv2、ただし、fによって色でfillするのを変えよ
gp <- gp + aes(x =v2, fill = f)
gp <- gp + geom_bar()
gp

# ヒストグラムの描き方を少し変える
gp <- ggplot(data = df)
gp <- gp + aes(x =v2, fill = f)
gp <- gp + geom_bar(position = "fill")
gp


gp <- ggplot(data = df)
gp <- gp + aes(x =v2, fill = f)
gp <- gp + geom_bar(position = "dodge")
gp

# 2要素をプロットしてみる
plot(df$v2, df$v3)

# データを格納しているデータフレームを覚えさせる
gp <- ggplot(data = df)
# 描く対象はデータフレームのv2,v3であると教える
gp <- gp + aes(x = v2, y = v3)
# 描くのは2軸の点であると教える
gp <- gp + geom_point()
# 描かせる
gp

# v1で色分けする
f <- factor(df$v1)
gp <- ggplot(data = df)
# 描く対象はデータフレームのv2,v3であると教える
gp <- gp + aes(x = v2, y = v3, colour = f)
# 描くのは2軸の点であると教える
gp <- gp + geom_point()
# 描かせる
gp

# v4 で値で色を変える
gp <- ggplot(data = df)
# 描く対象はデータフレームのv2,v3であると教える
gp <- gp + aes(x = v2, y = v3, colour = v4)
# 描くのは2軸の点であると教える
gp <- gp + geom_point()
# 描かせる
gp

# v4 で値で色を変える
gp <- ggplot(data = df)
# 描く対象はデータフレームのv2,v3であると教える
gp <- gp + aes(x = v2, y = v3, colour = v4)
# 描くのは2軸の点であると教える
gp <- gp + geom_point()
# 色を指定する
gp <- gp + scale_colour_gradient(low = "blue", high ="yellow")
# 描かせる
gp

# 色の変わりに点のサイズを変える
gp <- ggplot(data = df)
# 描く対象はデータフレームのv2,v3であると教える
gp <- gp + aes(x = v2, y = v3, size = v4)
# 描くのは2軸の点であると教える
gp <- gp + geom_point()
# 描かせる
gp

# カテゴリ別に図を変える
# v4 で値で色を変える
gp <- ggplot(data = df)
# 描く対象はデータフレームのv2,v3であると教える
gp <- gp + aes(x = v2, y = v3, colour = v4)
# 描くのは2軸の点であると教える
gp <- gp + geom_point()
# 色を指定する
gp <- gp + scale_colour_gradient(low = "blue", high ="yellow")
# 描かせる
gp <- gp + facet_wrap(~ v1)
gp

###########
gp <- ggplot(data = df)
gp <- gp + aes(x = v1, y= v2)
gp <- gp + geom_point()
# 1次線形の線
gp <- gp + geom_smooth(method = "lm")
gp

gp <- ggplot(data = df)
gp <- gp + aes(x = v2, y= v3)
gp <- gp + geom_point()
# 同じく1次線形の線
gp <- gp + geom_smooth(method = "lm")
gp

# 群別に引いてみる
f <- factor(df$v1)
gp <- ggplot(data = df)
gp <- gp + aes(x = v2, y= v3, group = f)
gp <- gp + geom_point()
gp <- gp + geom_smooth(method = "lm")
gp

# 群の区別がわかりにくいので色を変えてみる
f <- factor(df$v1)
gp <- ggplot(data = df)
gp <- gp + aes(x = v2, y= v3, group = f, colour = f)
gp <- gp + geom_point()
gp <- gp + geom_smooth(method = "lm")
gp