忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

# 最頻値
xn <- sample(1:100, 1000, replace=T)
xf <- factor(sample(letters[1:5], 1000, replace=T))

# 数値変数の場合
x <- xn
hist(x, plot=F, right=F)$breaks[order(hist(x, plot=F, right=F)$counts, decreasing=T)][1]
# 確認用
hist(xn, plot=F)

# 因子変数の場合
x <- xf
names(table(x))[order(as.vector(table(x)), decreasing=T)][1]
# 確認用
table(xf)


# 等差数列の生成 seq
seq(from=, to=, by=)

# 反復生成 rep
rep(1:3, times = 3) # 1,2,3を3回繰り返す。rep(1:3, 3) も同じ
rep(1:3, each = 3) # それぞれを3回くりかえす
## 繰り返しは要素ごとに指定もできる
rep(1:3, times = c(3, 2, 5))
## 因子変数を指定した数だけ複数つくる
gl(n=3, k=20, labels=c("control", "treatmentA", "treatmentB")) # ordered=Tで順序尺度に

# ランダムサンプリング sample
sample(x=ベクトル, size=総数, replace=F:同じ要素が選ばれても良いか, prob=NULL:確率ベクトル
## 5件法のデータを100個生成する
sample(x=5, size=100, replace=T)
## prob引数。確率ベクトルとして3が半分とかのデータにする。デフォルトは一様
p <- c(0.1, 0.1, 0.5, 0.1, 0.2)
table(sample(x=5, size=100, replace=T, prob=p)) # tableで集計

## 正規分布っぽい乱数生成
# msmパッケージのptnorm関数を使用して上限と下限を設定した正規分布をつくり、それを5等分して各確率密度を求め, pr.vに入れる
pr.v <- vector("numeric", 5)
library(msm)
for (i in 1:5) {
pr.v[i] <- ptnorm(q=i+1, mean=3.5, sd=1, lower=1, upper=6) - ptnorm(q=i, mean=3.5, sd=1, lower=1, upper=6)
}
pr.v
## pr.vに従って1-5までの乱数を生成する
x <- sample(1:5, 10000, replace=T, prob=pr.v)
table(x)


# 組み合わせ用 combn, choose 組合せ
5水準の要因で、2水準ごとの組み合わせ
x <- gl(5, 20) # 各サンプルサイズは20とする。特に意味はない
x.lvl <- levels(x)
combn(x.lvl, 2)
# 何通りあるか
x.nm <- nlevels(x)
choose(x.nm, 2)
# 複数の因子の交互作用的な組み合わせ?
y <- gl(3, 20, labels=c("a", "b", "c"))
interaction(x, y)
## 組み合わせの種類
levels(interaction(x, y))


PR
Comment
Trackback
Trackback URL

Comment form
Title
Color & Icon Vodafone絵文字 i-mode絵文字 Ezweb絵文字  
Comment
Name
Mail
URL
Password
プロフィール
HN:
tao
HP:
性別:
非公開
職業:
会社員
趣味:
アウトドア、自転車、ジョギング、英語学習
自己紹介:
・千葉在住のサラリーマンです。データ分析っぽいことが仕事。
・今年英検1級取得。今はTOEIC高得点を目指して勉強中。
・興味のあることは野球、アウトドア、英語学習、統計、プログラミング、PC関係などなど。
ブログ内検索
freead
順位表
プロ野球データFreak
セリーグ順位表
パリーグ順位表