忍者ブログ
×

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


# クリップボードへ
write.table(dat, "clipboard", sep="\t", row.names=FALSE, quote=FALSE)

# タブ区切りテキスト
write.table(dat, file="dattxt.txt", sep="\t", row.names=FALSE, quote=FALSE)

# タブ区切りcsv
write.csv(dat, file="datcsv.csv")

## fileのところにfile.choose() とすればダイアログで場所を選べる
write.csv(dat, file.choose())

# Excelファイルで保存
library(xlsReadWrite)
write.xls(iris, file.choose())

PR

# クリップボードから
dat <- read.table("clipboard", header=T)

# タブ区切りテキストファイルから
dat <- read.table("dat.txt", header=T)

# タブ区切りcsvファイルから
dat <- read.table("dat.csv", header=T)

# ダイアログで選ぶ。
# file.choose関数はファイルのパスとファイル名を文字列で指定するものだが、日本語は通らない ("デスクトップ") など
dat <- read.table(file.choose(), header=T)
dat <- read.delim(file.choose()) # デフォルトでheader=Tとなってるので便利かもしれない

# Excelのxlsファイルを読む
library("xlsReadWrite")
xls.getshlib() # これを実行しておかないとエラー
dat <- read.xls(file.choose())
## (file.choose, sheet=1) でシートを選べる。デフォルトは1

# Excel2007以降のxlsxファイルを読む
library(xlsx) # javaRuntimeEnvironmentがないとダメみたい。知らない間に入っていたりするけど
file <- system.file("tests", "test_import.xlsx", package = "xlsx") # これを実行しておかないとエラー
dat <- read.xlsx(file.choose(), sheet=1) # シート名を指定しておかないとエラー

## 当然というべきか、Excelファイルを読み込むパッケージは他にもたくさんある。Rコマンダーを使うとシートもダイアログで選択できる。代表的なのはrodbc, gdata, gregmiscなどか。perlのインストールとかめんどそうなのでパスしよう

# webからはクォーテーション内のファイル名をURLにする
dat <- read.table("https://blog.cnobi.jp/v1/blog/user/89d80905c7038b4121822249e9062fba/1255449130",header = T)
library(foreign); dat <- data.frame(read.spss("http://www.indiana.edu/~statmath/stat/all/cfa/values.sav")

# コンマ区切りのときはsep=","とする
dat <- read.table('http://www.ats.ucla.edu/stat/R/faq/hsb2.csv', header=T, sep=",")

# spssのsavファイルから
library(foreign)
dat <- data.frame(read.spss("dat.sav"))
 # 変数ラベルを読み込むときは以下のようにする
x <- read.spss("test2.sav", to.data.frame=T, max.value.labels=99)
head(x)
sapply(x, class)

# webからもいける
dat <- data.frame(read.spss("http://davidakenny.net/dtt/morse_et_al.sav"))


# R以外でspssデータを読んだり出力を開いたりする
## savファイル (データファイル) を開く
## フリーのビューワがある。SPSSのデータ加工のためのもののようで、公式ではない
ViewSav
http://www.asselberghs.dds.nl/stuff.htm
PSPP. SPSSのクローンソフトをつくろうというGNUプロジェクト。まだ開発段階で高度な分析はできないが、とりあえずsavファイルは開ける
http://www.gnu.org/software/pspp/

## spo, spvなどの出力ファイルを開く。
## 公式にフリーのビューワが提供されているのでそれを使う
spoファイル
http://www.spss.co.jp/techsupport/tech-info/spss_statistics_170/000622.html
spvファイル
http://www.spss.co.jp/techsupport/tech-info/spss_statistics_170/000623.html


書き溜めたものをQuick-Rのようにしたいと思ったがこのブログでは上手くいかないな…
階層のあるメニューにできればいいんだけど


Rjpwikiで楽しそうなことが始まっている
psych, sem, carパッケージなんかもあるといいな
dat <- data.frame(a = factor(c(rep("a1",8), rep("a2",8), rep("a3",8), rep("a4",8))), result = c(9,7,8,8,12,11,8,13, 6,5,6,3,6,7,10,9, 10,13,8,13,12,14,14,16, 9,11,13,14,16,12,15,14))

lmres <- lm(result~a, dat)
smry <- summary(lmres)
smry$sigma^2 # 残差の平均平方和
smry$sigma^2 * lmres$df.residual
anova(lmres)

# 被験者間しか使えない

## サンプルデータ
library(psych)
data(bfi) # psychパッケージ内のデータセット
dat <- bfi

# 各変数ごとに反応の種類を調べる
sapply(dat, function(x) levels(factor(x)))
  # 変数ごとに反応や単位が違う場合に使う。データはデータフレームにしておくこと
  # library(psych); data(sat.act); sapply(sat.act, function(x) levels(factor(x)))
# 全体の回答数
summary(factor(as.matrix(dat)))
# 一応プロットもしてみる
win.graph()
plot(as.vector(as.matrix(dat)))
win.graph()
hist(as.vector(as.matrix(dat)))

# 各項目ごとの反応数を集計する。
# 有効回答 (NA, Inf, NaN以外の反応) 種類をとりだす
(res <- names(table(as.matrix(dat)))) # table関数はNAとかは集計しないことを利用
resN <- length(res) # 反応の種類数
itemN <- ncol(dat) # 項目数
count.dat <- data.frame(matrix(NA, itemN, resN)) # 集計表用の行列。行が項目、列が反応
  rownames(count.dat) <- names(dat)
  colnames(count.dat) <- res
for (i in 1:resN){
count.dat[,i] <- sapply(dat, function(x) sum(na.omit(x)==res[i]))
}
count.dat

# NA, NaN, Infも調べる
na <- sapply(dat, function(x) sum(is.na(x))) # NAとNaNがカウントされる
inf <- sapply(dat, function(x) sum(is.infinite(x))) # Infをカウント

# 記述統計とかとくっつける。記述統計はpsychパッケージのdescribe関数で
descriptives <- cbind(data.frame(describe(dat)), count.dat, na, inf)
descriptives
# csvで保存
write.csv(descriptives, file="descriptives.csv", quote=FALSE)


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