忍者ブログ
6

×

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


Rjpwikiのファイルを読み込むTips参考。感謝

# 複数のデータファイルを一括してリストに読み込む
fnames <- dir(pattern=".csv") # とすると、作業ディレクトリ内のcsvファイルのみを選んでくれる
 # fnamesp <- choose.files() # ファイルを選ぶ。パスのベクトルが保存される。リストの要素名には使いづらい
csvlist <- lapply(fnames, read.csv)
names(csvlist) <- fnames
csvlist

# 読み込んだcsvをマージする
n <- length(csvlist)
temp <- csvlist[[1]]
for (i in 2:n) {
 temp <- merge(temp, csvlist[[i]], all=T)
}
res <- temp
res

 ## 青木先生のmerge.allを参考にした。感謝
 http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/arc040/03212.html
merge.all <- function(...)
{
n <- length(list(...))
temp <- list(...)[[1]]
for (i in 2:n) {
temp <- merge(temp, list(...)[[i]], all=TRUE)
}
return(temp)
}

# apply系とchoose.filesを上手く使えば、データ指定から直接マージもできる…かもしれないが、いったんリストにしてRのオブジェクトにしといたほうが個人的にはいいと思う

PR
 plot(dnorm, -4, 4)
 xvals <- seq(-4, 4, length=1000)               # 領域をx軸方向に1000個の多角形(台形)に等分割
 dvals <- dnorm(xvals)                       # 対応するグラフの高さ
 polygon(c(xvals,rev(xvals)),
         c(rep(0,1000),rev(dvals)),col="skyblue") # 塗りつぶす

参考というか自分用のコピペです。元は以下URL。感謝
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/51.html
library(psych)
library(polycor)
library(foreign)
dat <- read.spss("http://www.indiana.edu/~statmath/stat/all/cfa/values_ord.sav", to.data.frame=T, max.value.labels=99)
pcres <- polychoric(dat)
print(pcres, digits=3)

# データをきちんと変換しておけばhetcor関数のほうが便利かも
x <- dat
dat2 <- data.frame(lapply(x, ordered))
sapply(dat2, class)
res1 <- polychoric(dat2) # エラー
res2 <- hetcor(dat2)
res2
 res2$correlations # 相関行列だけとりだす

# 以下参考。感謝
  # Rjpwiki: polycorパッケージによる順序相関係数の算出
  # 小杉先生の順序尺度水準の相関係数について: http://www.kosugitti.net/labo/polynote.pdf
# 平方和を計算する
ss <- function(x) {
  a <- x-mean(x)
  sum(a^2)
  }
ss(iris[,1])

# データフレームの変数名を調べる
dn <- function(x) {
  data.frame(names(x))
  }
dn(iris)

# 用紙サイズの長辺と短辺

  long short
A1 841 594
A2 594 420
A3 420 297
A4 297 210
A5 210 148
A6 148 105
A7 105 74
     
B1 1030 728
B2 728 515
B3 515 364
B4 364 257
B5 257 182
B6 182 128
B7 128 91

# 意味はないがコードにしてみる
ab <- c(paste("A", 1:7), "***", paste("B", 1:7))
long   <- c(841,594,420,297,210,148,105," ", 1030,728,515,364,257,182,128)
short  <- c(594,420,297,210,148,105,74," ",728,515,364,257,182,128,91)
data.frame(ab, long, short)

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