SlideShare a Scribd company logo
###########################################
# I. さまざまなデータの入力方法
###########################################
#-------------------------------------------------------
# A) コンソールでの直接入力 dat1 (cars データ)作成
#-------------------------------------------------------
# スピード
speed <- c(4, 4, 7, 7, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15,
16, 16, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 20, 20, 20, 20, 20, 22, 23, 24, 24, 24, 24, 25)
# 制動距離
dist <- c(2, 10, 4, 22, 16, 10, 18, 26, 34, 17, 28, 14, 20, 24, 28, 26, 34, 34, 46, 26, 36, 60, 80, 20, 26,
54, 32, 40, 32, 40, 50, 42, 56, 76, 84, 36, 46, 68, 32, 48, 52, 56, 64, 66, 54, 70, 92, 93, 120, 85)
# 行列にまとめる
dat1 <- cbind(speed,dist)
#-------------------------------------------------------
# 脱線) R で嬉しいこと [A)の dat1 を使用]
#-------------------------------------------------------
plot(dat1) # 散布図描画
summary(dat1) # データの基本統計量
lm1 <- lm(dist~speed) # 回帰分析
summary(lm1) # 回帰分析結果表示
abline(lm1, col= "red") # 回帰線描画
str(lm1) # lm1 の内容確認
#-------------------------------------------------------
# B) データエディタの利用
#-------------------------------------------------------
# まず空のデータフレーム dat2 を作成
dat2 <- data.frame()
# コンソールのメニューを操作する場合は「編集」 => 「データエディタ」
# 同じ操作を以下のコマンドでできる
fix(dat2)
#-------------------------------------------------------
# C) CSV ファイルの読み込み、その 1
#-------------------------------------------------------
# 最もお手軽な方法
data1 <- read.csv(file.choose())
head(data1) # データの冒頭だけ表示
tail(data1) # データの末尾だけ表示
# 使用データ cars.csv
# 以下の部分をテキストエディタに貼り、cars.csv として保存する
speed,dist
4,2
4,10
7,4
7,22
8,16
9,10
10,18
10,26
10,34
11,17
11,28
12,14
12,20
12,24
12,28
13,26
13,34
13,34
13,46
14,26
14,36
14,60
14,80
15,20
15,26
15,54
16,32
16,40
17,32
17,40
17,50
18,42
18,56
18,76
18,84
19,36
19,46
19,68
20,32
20,48
20,52
20,56
20,64
22,66
23,54
24,70
24,92
24,93
24,120
25,85
#-------------------------------------------------------
# C) CSV ファイルの読み込み、その 2
#-------------------------------------------------------
setwd("C:/Rdemo") # 読みたいファイルを置いたディレクトリを指定する
dat3 <- read.csv("cars2.csv", header=TRUE)
# データにヘッダがない場合は header=FALSE を指定
head(dat3) # データの冒頭だけ表示
tail(dat3) # データの末尾だけ表示
# 使用データ cars2.csv
# 以下の部分をテキストエディタに貼り、cars2.csv として保存する
# テキストエディタ上では、先の cars.csv との差異は明らかだが、EXCEL で開く
# 場合には同じにみえてしまう
speed,dist,
4,2
4,10
7,4
7,22
8,16
9,10
10,18
10,26
10,34
11,17
11,28
12,14
12,20
12,24
12,28
13,26
13,34
13,34
13,46
14,26
14,36
14,60
14,80
15,20
15,26
15,54
16,32
16,40
17,32
17,40
17,50
18,42
18,56
18,76
18,84
19,36
19,46
19,68
20,32
20,48
20,52
20,56
20,64
22,66
23,54
24,70
24,92
24,93
24,120
25,85,
,,,,,
,,,,,
#-------------------------------------------------------
# D) 区切り文字のない固定長ファイルの読み込み
#-------------------------------------------------------
wt1 <- c(10, 8) # 各項目の桁数
cn1 <- c("speed", "dist") # 項目名
dat4 <- read.fwf("cars.txt", widths=wt1, col.names=cn1)
head(dat4) # データの冒頭だけ表示
tail(dat4) # データの末尾だけ表示
# 使用データ cars.txt
# 以下の部分をテキストエディタに貼り、cars.txt として保存する
4 2
4 10
7 4
7 22
8 16
9 10
10 18
10 26
10 34
11 17
11 28
12 14
12 20
12 24
12 28
13 26
13 34
13 34
13 46
14 26
14 36
14 60
14 80
15 20
15 26
15 54
16 32
16 40
17 32
17 40
17 50
18 42
18 56
18 76
18 84
19 36
19 46
19 68
20 32
20 48
20 52
20 56
20 64
22 66
23 54
24 70
24 92
24 93
24 120
25 85
#-------------------------------------------------------
# E) 複数の csv ファイルをまとめて
#-------------------------------------------------------
# 事前準備
#-----------------------------
# 例えば、各人の作業フォルダを「Y:/PC123/」として、その下にサブフォルダ「giji」、
# さらにその下にデータファイルを置く「data」フォルダを置く。
# つまり、「Y:/PC123/giji/data/」という構成にして、data の下には大元の擬似ミクロ
# データ関連ファイル、giji の下には新たに作成したファイル類を置く
#-----------------------------
# E-5. まず 1 本読んでみる
#-----------------------------
setwd("Y:/PC123/giji/data") # ※ 「PC123」の部分は各人の作業フォルダを指定する #要修正%%%
giji1 <- read.csv("GIJI_2004zensho_dataset(00001~05000).csv", header=FALSE)
head(giji1)
tail(giji1)
#-----------------------------
# E-8. まとめて
#-----------------------------
##### EXCEL で作ったコンスタント表 code.csv は、giji フォルダに置く
rm(list=ls(all=TRUE)) # 作業領域のお掃除
cd1 <- read.csv("Y:/PC123/giji/code.csv", header=TRUE) #要修正%%%
tail(cd1)
a1 <- which(!is.na(cd1$ren)) # コンスタントファイル末尾の
cd1 <- cd1[a1,] # ブランク行削除
tail(cd1) # cd1 の末尾確認
# 因子属性への変換抑制フラグ作成 (ただし、データに数字以外の文字列があれば因子化は抑制されない)
ft1 <- rep(TRUE, dim(cd1)[1])
ft1[which(cd1$type == 2)] <- FALSE
# 命名規則を指定してデータファイル名の一覧を取得
setwd("Y:/PC123/giji/data") # カレントディレクトリを擬似ミクロデータがある場所に指定 #要修正%%%
(f.list <- list.files(path=getwd(), pattern="*).csv"))
dt1 <- do.call("rbind", lapply(f.list, read.csv, col.names=cd1$namae, as.is=ft1, header=FALSE))
dim(dt1) # [1] 32027 197
###########################################
# II. 出力の方法
###########################################
#-------------------------------------------------------
# A) ワークスペース全体の保存
#-------------------------------------------------------
save.image("Kensyuu1")
#-------------------------------------------------------
# B) コード履歴の保存
#-------------------------------------------------------
# メニューバーで操作します
#-------------------------------------------------------
# C) バイナリファイル
#-------------------------------------------------------
setwd("Y:/PC123/giji/") #要修正%%%
save(cd1, dt1, file="giji.rdata")
# データレイアウト情報 cd1 とデータ dt1 を giji.Rdata として保存
# 第三部でも使用するので、必ずこのファイルを作成し、保存してください。
#-------------------------------------------------------
# D) CSV ファイル
#-------------------------------------------------------
#setwd("Y:/PC123/giji") # 必要に応じて保存したいディレクトリを指定
data(iris)# 5 変数 150 レコードのあやめデータをロード
write.csv(iris, file="iris.csv")
write.csv(iris, file="iris1.csv", quote=FALSE, row.names=FALSE)
###########################################

More Related Content

Viewers also liked

MP in Haskell
MP in HaskellMP in Haskell
MP in Haskell
Kent Ohashi
 
HTTP/2 in nginx(2016/3/11 社内勉強会)
HTTP/2 in nginx(2016/3/11 社内勉強会)HTTP/2 in nginx(2016/3/11 社内勉強会)
HTTP/2 in nginx(2016/3/11 社内勉強会)
Yoko TAMADA
 
Rプログラミング03 データ分析編
Rプログラミング03 データ分析編Rプログラミング03 データ分析編
Rプログラミング03 データ分析編
wada, kazumi
 
From Java To Clojure (English version)
From Java To Clojure (English version)From Java To Clojure (English version)
From Java To Clojure (English version)
Kent Ohashi
 
ネットワーク概論 サーバの構築理論
ネットワーク概論 サーバの構築理論ネットワーク概論 サーバの構築理論
ネットワーク概論 サーバの構築理論
Takahiro Komatsu
 
おいしいLisp
おいしいLispおいしいLisp
おいしいLisp
Kent Ohashi
 
困らない程度のJDK入門
困らない程度のJDK入門困らない程度のJDK入門
困らない程度のJDK入門
Yohei Oda
 

Viewers also liked (7)

MP in Haskell
MP in HaskellMP in Haskell
MP in Haskell
 
HTTP/2 in nginx(2016/3/11 社内勉強会)
HTTP/2 in nginx(2016/3/11 社内勉強会)HTTP/2 in nginx(2016/3/11 社内勉強会)
HTTP/2 in nginx(2016/3/11 社内勉強会)
 
Rプログラミング03 データ分析編
Rプログラミング03 データ分析編Rプログラミング03 データ分析編
Rプログラミング03 データ分析編
 
From Java To Clojure (English version)
From Java To Clojure (English version)From Java To Clojure (English version)
From Java To Clojure (English version)
 
ネットワーク概論 サーバの構築理論
ネットワーク概論 サーバの構築理論ネットワーク概論 サーバの構築理論
ネットワーク概論 サーバの構築理論
 
おいしいLisp
おいしいLispおいしいLisp
おいしいLisp
 
困らない程度のJDK入門
困らない程度のJDK入門困らない程度のJDK入門
困らない程度のJDK入門
 

Similar to Rデモ02_入出力編2016

about dakota6.7 gui
about dakota6.7 guiabout dakota6.7 gui
about dakota6.7 gui
Etsuji Nomura
 
about DakotagUI
about DakotagUIabout DakotagUI
about DakotagUI
Etsuji Nomura
 
Rプログラミング01 「はじめの一歩」 演習デモ
Rプログラミング01 「はじめの一歩」 演習デモRプログラミング01 「はじめの一歩」 演習デモ
Rプログラミング01 「はじめの一歩」 演習デモ
wada, kazumi
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニングKensuke Nagae
 
Ⅲ. 資料編 2017
Ⅲ. 資料編 2017Ⅲ. 資料編 2017
Ⅲ. 資料編 2017
wada, kazumi
 
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...
Toru Tamaki
 
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
mametter
 
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
MapR Technologies Japan
 
KETpic できれいな図を書こう
KETpic できれいな図を書こうKETpic できれいな図を書こう
KETpic できれいな図を書こう
Yoshitomo Akimoto
 
PostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationPostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU Collation
Noriyoshi Shinoda
 
MySQLerの7つ道具
MySQLerの7つ道具MySQLerの7つ道具
MySQLerの7つ道具
yoku0825
 
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付きInsight Technology, Inc.
 
PostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVSPostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVS
Noriyoshi Shinoda
 
並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js
Yoshiiro Ueno
 
#crazy-js Quiz
#crazy-js Quiz#crazy-js Quiz
#crazy-js Quiz
Takaki Hoshikawa
 
C++でHello worldを書いてみた
C++でHello worldを書いてみたC++でHello worldを書いてみた
C++でHello worldを書いてみた
firewood
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki
 
Introduction to R
Introduction to RIntroduction to R
Introduction to R
Yukihiro NAKAJIMA
 

Similar to Rデモ02_入出力編2016 (20)

about dakota6.7 gui
about dakota6.7 guiabout dakota6.7 gui
about dakota6.7 gui
 
about DakotagUI
about DakotagUIabout DakotagUI
about DakotagUI
 
Rプログラミング01 「はじめの一歩」 演習デモ
Rプログラミング01 「はじめの一歩」 演習デモRプログラミング01 「はじめの一歩」 演習デモ
Rプログラミング01 「はじめの一歩」 演習デモ
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
 
Ⅲ. 資料編 2017
Ⅲ. 資料編 2017Ⅲ. 資料編 2017
Ⅲ. 資料編 2017
 
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...
 
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
 
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
 
KETpic できれいな図を書こう
KETpic できれいな図を書こうKETpic できれいな図を書こう
KETpic できれいな図を書こう
 
Maatkitの紹介
Maatkitの紹介Maatkitの紹介
Maatkitの紹介
 
PostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationPostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU Collation
 
MySQLerの7つ道具
MySQLerの7つ道具MySQLerの7つ道具
MySQLerの7つ道具
 
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
 
PostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVSPostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVS
 
並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js
 
#crazy-js Quiz
#crazy-js Quiz#crazy-js Quiz
#crazy-js Quiz
 
C++でHello worldを書いてみた
C++でHello worldを書いてみたC++でHello worldを書いてみた
C++でHello worldを書いてみた
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
 
Introduction to R
Introduction to RIntroduction to R
Introduction to R
 

More from wada, kazumi

Rによる繰り返しの並列処理
Rによる繰り返しの並列処理Rによる繰り返しの並列処理
Rによる繰り返しの並列処理
wada, kazumi
 
2018Rユーザ会用
2018Rユーザ会用2018Rユーザ会用
2018Rユーザ会用
wada, kazumi
 
Ⅳ. 可視化事例集 2017
Ⅳ. 可視化事例集 2017Ⅳ. 可視化事例集 2017
Ⅳ. 可視化事例集 2017
wada, kazumi
 
Ⅱ. データ分析編 2017
Ⅱ. データ分析編 2017Ⅱ. データ分析編 2017
Ⅱ. データ分析編 2017
wada, kazumi
 
Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017
wada, kazumi
 
2017Rユーザ会用
2017Rユーザ会用2017Rユーザ会用
2017Rユーザ会用
wada, kazumi
 
統計環境R_データ分析編2016
統計環境R_データ分析編2016統計環境R_データ分析編2016
統計環境R_データ分析編2016
wada, kazumi
 
統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016
wada, kazumi
 
統計環境R_データ入出力編2016
統計環境R_データ入出力編2016統計環境R_データ入出力編2016
統計環境R_データ入出力編2016
wada, kazumi
 
自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare
wada, kazumi
 
Rプログラミング03 「データ分析編」デモ
Rプログラミング03 「データ分析編」デモRプログラミング03 「データ分析編」デモ
Rプログラミング03 「データ分析編」デモ
wada, kazumi
 
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
wada, kazumi
 
Rによる大規模データのプロット
Rによる大規模データのプロットRによる大規模データのプロット
Rによる大規模データのプロット
wada, kazumi
 
擬似ミクロデータについて
擬似ミクロデータについて擬似ミクロデータについて
擬似ミクロデータについて
wada, kazumi
 
Rによる富士山関数の描き方
Rによる富士山関数の描き方Rによる富士山関数の描き方
Rによる富士山関数の描き方wada, kazumi
 
Rによるprincomp関数を使わない主成分分析
Rによるprincomp関数を使わない主成分分析Rによるprincomp関数を使わない主成分分析
Rによるprincomp関数を使わない主成分分析
wada, kazumi
 
基本統計量について
基本統計量について基本統計量について
基本統計量について
wada, kazumi
 
マハラノビス距離とユークリッド距離の違い
マハラノビス距離とユークリッド距離の違いマハラノビス距離とユークリッド距離の違い
マハラノビス距離とユークリッド距離の違い
wada, kazumi
 
Rでの対称行列の固有値・固有ベクトルの最適な求め方
Rでの対称行列の固有値・固有ベクトルの最適な求め方Rでの対称行列の固有値・固有ベクトルの最適な求め方
Rでの対称行列の固有値・固有ベクトルの最適な求め方wada, kazumi
 
Rによるlm関数を使わない回帰と梃子比・cookの距離
Rによるlm関数を使わない回帰と梃子比・cookの距離 Rによるlm関数を使わない回帰と梃子比・cookの距離
Rによるlm関数を使わない回帰と梃子比・cookの距離
wada, kazumi
 

More from wada, kazumi (20)

Rによる繰り返しの並列処理
Rによる繰り返しの並列処理Rによる繰り返しの並列処理
Rによる繰り返しの並列処理
 
2018Rユーザ会用
2018Rユーザ会用2018Rユーザ会用
2018Rユーザ会用
 
Ⅳ. 可視化事例集 2017
Ⅳ. 可視化事例集 2017Ⅳ. 可視化事例集 2017
Ⅳ. 可視化事例集 2017
 
Ⅱ. データ分析編 2017
Ⅱ. データ分析編 2017Ⅱ. データ分析編 2017
Ⅱ. データ分析編 2017
 
Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017
 
2017Rユーザ会用
2017Rユーザ会用2017Rユーザ会用
2017Rユーザ会用
 
統計環境R_データ分析編2016
統計環境R_データ分析編2016統計環境R_データ分析編2016
統計環境R_データ分析編2016
 
統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016
 
統計環境R_データ入出力編2016
統計環境R_データ入出力編2016統計環境R_データ入出力編2016
統計環境R_データ入出力編2016
 
自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare
 
Rプログラミング03 「データ分析編」デモ
Rプログラミング03 「データ分析編」デモRプログラミング03 「データ分析編」デモ
Rプログラミング03 「データ分析編」デモ
 
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
 
Rによる大規模データのプロット
Rによる大規模データのプロットRによる大規模データのプロット
Rによる大規模データのプロット
 
擬似ミクロデータについて
擬似ミクロデータについて擬似ミクロデータについて
擬似ミクロデータについて
 
Rによる富士山関数の描き方
Rによる富士山関数の描き方Rによる富士山関数の描き方
Rによる富士山関数の描き方
 
Rによるprincomp関数を使わない主成分分析
Rによるprincomp関数を使わない主成分分析Rによるprincomp関数を使わない主成分分析
Rによるprincomp関数を使わない主成分分析
 
基本統計量について
基本統計量について基本統計量について
基本統計量について
 
マハラノビス距離とユークリッド距離の違い
マハラノビス距離とユークリッド距離の違いマハラノビス距離とユークリッド距離の違い
マハラノビス距離とユークリッド距離の違い
 
Rでの対称行列の固有値・固有ベクトルの最適な求め方
Rでの対称行列の固有値・固有ベクトルの最適な求め方Rでの対称行列の固有値・固有ベクトルの最適な求め方
Rでの対称行列の固有値・固有ベクトルの最適な求め方
 
Rによるlm関数を使わない回帰と梃子比・cookの距離
Rによるlm関数を使わない回帰と梃子比・cookの距離 Rによるlm関数を使わない回帰と梃子比・cookの距離
Rによるlm関数を使わない回帰と梃子比・cookの距離
 

Rデモ02_入出力編2016

  • 1. ########################################### # I. さまざまなデータの入力方法 ########################################### #------------------------------------------------------- # A) コンソールでの直接入力 dat1 (cars データ)作成 #------------------------------------------------------- # スピード speed <- c(4, 4, 7, 7, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 16, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 20, 20, 20, 20, 20, 22, 23, 24, 24, 24, 24, 25) # 制動距離 dist <- c(2, 10, 4, 22, 16, 10, 18, 26, 34, 17, 28, 14, 20, 24, 28, 26, 34, 34, 46, 26, 36, 60, 80, 20, 26, 54, 32, 40, 32, 40, 50, 42, 56, 76, 84, 36, 46, 68, 32, 48, 52, 56, 64, 66, 54, 70, 92, 93, 120, 85) # 行列にまとめる dat1 <- cbind(speed,dist) #------------------------------------------------------- # 脱線) R で嬉しいこと [A)の dat1 を使用] #------------------------------------------------------- plot(dat1) # 散布図描画 summary(dat1) # データの基本統計量 lm1 <- lm(dist~speed) # 回帰分析 summary(lm1) # 回帰分析結果表示 abline(lm1, col= "red") # 回帰線描画 str(lm1) # lm1 の内容確認 #------------------------------------------------------- # B) データエディタの利用 #------------------------------------------------------- # まず空のデータフレーム dat2 を作成 dat2 <- data.frame() # コンソールのメニューを操作する場合は「編集」 => 「データエディタ」 # 同じ操作を以下のコマンドでできる fix(dat2) #------------------------------------------------------- # C) CSV ファイルの読み込み、その 1 #-------------------------------------------------------
  • 2. # 最もお手軽な方法 data1 <- read.csv(file.choose()) head(data1) # データの冒頭だけ表示 tail(data1) # データの末尾だけ表示 # 使用データ cars.csv # 以下の部分をテキストエディタに貼り、cars.csv として保存する speed,dist 4,2 4,10 7,4 7,22 8,16 9,10 10,18 10,26 10,34 11,17 11,28 12,14 12,20 12,24 12,28 13,26 13,34 13,34 13,46 14,26 14,36 14,60 14,80 15,20 15,26 15,54 16,32 16,40 17,32 17,40 17,50 18,42 18,56 18,76 18,84
  • 3. 19,36 19,46 19,68 20,32 20,48 20,52 20,56 20,64 22,66 23,54 24,70 24,92 24,93 24,120 25,85 #------------------------------------------------------- # C) CSV ファイルの読み込み、その 2 #------------------------------------------------------- setwd("C:/Rdemo") # 読みたいファイルを置いたディレクトリを指定する dat3 <- read.csv("cars2.csv", header=TRUE) # データにヘッダがない場合は header=FALSE を指定 head(dat3) # データの冒頭だけ表示 tail(dat3) # データの末尾だけ表示 # 使用データ cars2.csv # 以下の部分をテキストエディタに貼り、cars2.csv として保存する # テキストエディタ上では、先の cars.csv との差異は明らかだが、EXCEL で開く # 場合には同じにみえてしまう speed,dist, 4,2 4,10 7,4 7,22 8,16 9,10 10,18 10,26 10,34 11,17 11,28 12,14
  • 5. wt1 <- c(10, 8) # 各項目の桁数 cn1 <- c("speed", "dist") # 項目名 dat4 <- read.fwf("cars.txt", widths=wt1, col.names=cn1) head(dat4) # データの冒頭だけ表示 tail(dat4) # データの末尾だけ表示 # 使用データ cars.txt # 以下の部分をテキストエディタに貼り、cars.txt として保存する 4 2 4 10 7 4 7 22 8 16 9 10 10 18 10 26 10 34 11 17 11 28 12 14 12 20 12 24 12 28 13 26 13 34 13 34 13 46 14 26 14 36 14 60 14 80 15 20 15 26 15 54 16 32 16 40 17 32 17 40 17 50 18 42 18 56 18 76
  • 6. 18 84 19 36 19 46 19 68 20 32 20 48 20 52 20 56 20 64 22 66 23 54 24 70 24 92 24 93 24 120 25 85 #------------------------------------------------------- # E) 複数の csv ファイルをまとめて #------------------------------------------------------- # 事前準備 #----------------------------- # 例えば、各人の作業フォルダを「Y:/PC123/」として、その下にサブフォルダ「giji」、 # さらにその下にデータファイルを置く「data」フォルダを置く。 # つまり、「Y:/PC123/giji/data/」という構成にして、data の下には大元の擬似ミクロ # データ関連ファイル、giji の下には新たに作成したファイル類を置く #----------------------------- # E-5. まず 1 本読んでみる #----------------------------- setwd("Y:/PC123/giji/data") # ※ 「PC123」の部分は各人の作業フォルダを指定する #要修正%%% giji1 <- read.csv("GIJI_2004zensho_dataset(00001~05000).csv", header=FALSE) head(giji1) tail(giji1) #----------------------------- # E-8. まとめて #----------------------------- ##### EXCEL で作ったコンスタント表 code.csv は、giji フォルダに置く rm(list=ls(all=TRUE)) # 作業領域のお掃除 cd1 <- read.csv("Y:/PC123/giji/code.csv", header=TRUE) #要修正%%% tail(cd1) a1 <- which(!is.na(cd1$ren)) # コンスタントファイル末尾の
  • 7. cd1 <- cd1[a1,] # ブランク行削除 tail(cd1) # cd1 の末尾確認 # 因子属性への変換抑制フラグ作成 (ただし、データに数字以外の文字列があれば因子化は抑制されない) ft1 <- rep(TRUE, dim(cd1)[1]) ft1[which(cd1$type == 2)] <- FALSE # 命名規則を指定してデータファイル名の一覧を取得 setwd("Y:/PC123/giji/data") # カレントディレクトリを擬似ミクロデータがある場所に指定 #要修正%%% (f.list <- list.files(path=getwd(), pattern="*).csv")) dt1 <- do.call("rbind", lapply(f.list, read.csv, col.names=cd1$namae, as.is=ft1, header=FALSE)) dim(dt1) # [1] 32027 197 ########################################### # II. 出力の方法 ########################################### #------------------------------------------------------- # A) ワークスペース全体の保存 #------------------------------------------------------- save.image("Kensyuu1") #------------------------------------------------------- # B) コード履歴の保存 #------------------------------------------------------- # メニューバーで操作します #------------------------------------------------------- # C) バイナリファイル #------------------------------------------------------- setwd("Y:/PC123/giji/") #要修正%%% save(cd1, dt1, file="giji.rdata") # データレイアウト情報 cd1 とデータ dt1 を giji.Rdata として保存 # 第三部でも使用するので、必ずこのファイルを作成し、保存してください。 #------------------------------------------------------- # D) CSV ファイル #------------------------------------------------------- #setwd("Y:/PC123/giji") # 必要に応じて保存したいディレクトリを指定 data(iris)# 5 変数 150 レコードのあやめデータをロード write.csv(iris, file="iris.csv") write.csv(iris, file="iris1.csv", quote=FALSE, row.names=FALSE) ###########################################