第2回R勉強会1
Upcoming SlideShare
Loading in...5
×
 

第2回R勉強会1

on

  • 2,923 views

 

Statistics

Views

Total Views
2,923
Views on SlideShare
716
Embed Views
2,207

Actions

Likes
1
Downloads
4
Comments
0

14 Embeds 2,207

http://kansaizeror.blogspot.jp 2149
http://kansaizeror.blogspot.com 28
http://localhost 7
http://kansaizeror.blogspot.sg 6
http://www.ki-wa-mi.jp 3
http://www.blogger.com 2
http://kansaizeror.blogspot.tw 2
http://kansaizeror.blogspot.com.au 2
http://kansaizeror.blogspot.de 2
http://54.248.219.210 2
http://192.168.4.202 1
http://kansaizeror.blogspot.kr 1
http://kansaizeror.blogspot.co.uk 1
http://54.248.227.252 1
More...

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    第2回R勉強会1 第2回R勉強会1 Presentation Transcript

    • パヴェウ・ルシ ン  株式会社ブリリアントサー ビス第2回R勉強会Rのデータ型について
    • 自己紹介 Paweł Rusin (パヴェウ・ルシン) pawel.rusin@brilliantservice.co.jp Facebook: Paweł Rusin                   (iofar@o2.pl) 会社: 株式会社ブリリアントサービス 業務: データマイニング
    • R言語のデータ型 数値型 文字列 ブーリアン型 ベクター 列挙型 リスト 配列 データフレーム (関数)
    • 数値型> 42[1] 42> -273.15[1] -273.15> 2.3e4[1] 23000 複素数:> Inf > 1+1i[1] Inf [1] 1+1i> Inf*100000000000000000 sqrt(-4+0i)[1] Inf [1] 0+2i
    • ブーリアン型> A=TRUE> B=FALSE> A==B[1] FALSE> A=T #A=TRUE> B=F #B=FALSE 予約語:> T = FALSE #できる > FALSE = TRUE> F = TRUE #できる 以下にエラー FALSE = TRUE :>T 代入の左辺が不正(do_set)です[1] FALSE>F[1] TRUE
    • 文字列> string = "This is typical string"[1] "This is typical string"文字列の変化: コマンド 結果 toupper(string) [1] "THIS IS TYPICAL STRING" gsub("i","o",string) [1] "Thos os typocal strong" strsplit(string,"i") [[1]] [1] "Th" "s " "s ntyp" "cal nstr" "ng" substr(string,4,12) [1] "s is typi" nchar(string) [1] 22> cat("This nis nformatted nstring")ThisIsFormattedstring
    • 1ベクター: 2 3 4 5 ... xベクターという:● 順番に並べている値のセット● ベクターには同じような値は要らなければいけない: 1 2 3 4 5 ... x 数値: 7 123 32 -32 0 1 2 3 4 ... x 文字列: “This” “is” “character” “vec” 1 2 3 4 ... xブーリアン値: TRUE FALSE TRUE FALSE
    • ベクターの作り方: vector(mode = "", length = ) c(..., recursive=FALSE) > vector("integer", 3) > c(1,2,3,4,5) [1] 0 0 0 [1] 1 2 3 4 5 > integer(3) > c(1:5) # ==1:5 [1] 0 0 0 [1] 1 2 3 4 5 > character(3) > c(5:1) # ==5:1 [1] "" "" "" [1] 5 4 3 2 1 > logical(3) > c(1:5-1) # ==1:5-1 [1] FALSE FALSE FALSE [1] 0 1 2 3 4 seq(...) rep(x...) > seq(1,12, by=3) > rep(1:3,each=2) [1] 1 4 7 10 [1] 1 1 2 2 3 3 > seq(12,1, by=-3) [1] 12 9 6 3
    • ベクターの要素をとり方:> x=-5:-1>x[1] -5 -4 -3 -2 -1> x[3][1] -3> x[2:4][1] -4 -3 -2> x[-2][1] -5 -3 -2 -1> x[c(TRUE,FALSE,FALSE,TRUE,FALSE)][1] -5 -2> x[c(x>-3)][1] -2 -1
    • ベクターの名札 1 first 1 2 second 3 third ... x 7 123 32> y = c(first=1,second=2,third=3) > names(y) = c(„raz”,”dwa”,”trzy”)>y >yfirst second third raz dwa trzy 1 2 3 1 2 3> y["second"] > names(y)second [1] raz dwa trzy 2> y[c("first","third")]first third 1 3
    • リストリストとベターの中に違う?● リストでいろいろなデータ型を一緒に使える:● 数値● 文字列● ボーリアン値● ベクター● ほかのリストや配列やデータフレームなど 1 age 2 name 3 married 4 languages ... x 27 “Pawel” FALSE “Polish” ? “English” “Japanese”● リストのデータに名礼を付いて”$”で別の要素が使
    • リスト> myList = list(27,"Pawel",FALSE,c("Polish","English","Japanese"))> myList。。。> names(myList) =c("age","name","married","languages")> myList。。。> myList =list(age=27,name="Pawel",married=FALSE,languages=c("Polish","English","Japanese"))> myList。。。> myList[2]$name[1] "Pawel"> myList[2]= ”changed”> myList$name
    • リスト> myList[4]$languages[1] "Polish" "English" "Japanese"> myList[4] = "x"> myList[4]$languages[1] "x"> myList[4] = c(”Polish”,”English”,”Japanese”)警告メッセージ:In myList[4] = c("Polish", "English", "Japanese") : 置き換えるべき項目数が,置き換える数の倍数ではありませんでした> myList[[4]] = c(”Polish”,”English”,”Japanese”)> myList[4]$languages[1] "Polish" "English" "Japanese"> myList[[4]][1]
    • 列挙型factor(x = character(), levels, labels = levels, exclude = NA, ordered = is.ordered(x))> colours = factor(c("白","黒","青","青","白"))[1] 白 黒 青 青 白Levels: 黒 青 白> colours = factor(c("白","黒","青","青","白"), ordered=TRUE)[1] 白 黒 青 青 白Levels: 黒 < 青 < 白> summary(colours)黒青白1 2 2
    • 行列と配列行列: 2次元のベクター配列: 2次元以上のベクター  ,3 ,2 ,1 ,1, ,2, ,3, ,1 ,2 ,3 1, 1, 2, 2, 3, 3, 数値 文字列 ブーリアン値 ,1 ,2 ,3 ,1 ,2 ,3 ,1 ,2 ,3 1, 111 114 117 1, い に と 1, TRUE TRUE TRUE 2, 112 115 118 2, ろ ほ ち 2, TRUE TRUE TRUE 3, 113 116 119 3, は へ り 3, TRUE TRUE TRUE
    • 行列と配列matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)array(data = NA, dim = length(data), dimnames = NULL) > myMatrix = matrix(111:119,3,3) > myMatrix[-4] > myMatrix [1] 111 112 113 115 116 117 [,1] [,2] [,3] 118 119 [1,] 111 114 117 > myMatrix[] = 0 [2,] 112 115 118 > myMatrix [3,] 113 116 119 [,1] [,2] [,3] > myMatrix[7] [1,] 0 0 0 [1] 117 [2,] 0 0 0 > myMatrix[,2] [3,] 0 0 0 [1] 114 115 116 > myMatrix[2] > myMatrix = 0 [1] 112 > myMatrix > myMatrix[2,] [1] 0 [1] 112 115 118
    • 配列と行列> myMatrix = matrix(111:119,3,3) apply(myMatrix,1,mean)> colnames(myMatrix) = [1] 57.0 104.5 58.0c(„first”,”second”,”third”) apply(myMatrix,2,sum)> myMatrix = myMatrix/2 [1] 268.0 272.5 118.0> myMatrix[2,] = myMatrix[2,]+100 x=1:3> myMatrix[8] = myMatrix[8]*0 myMatrix = cbind(myMatrix,x)> myMatrix MyMatrix first second third first second third x[1,] 55.5 57.0 58.5 [1,] 55.5 57.0 58.5 1[2,] 156.0 157.5 0.0 [2,] 156.0 157.5 0.0 2[3,] 56.5 58.0 59.5 [3,] 56.5 58.0 59.5 3 データを接する: ● cbind(x=,y=) ● rbind(x=,y=) ● merge(x=,y=,by=,all=)
    • 配データフレームデータフレームと配列の中に違う?● リストとベクターと同じくらい:● データフレームでいろいろなデータ型を一緒に使える age name married ... 1 27 “Pawel” FALSE ... 2 12 “Tom” FALSE ... 3 77 “Jerry” TRUE ... ● データフレムーのデータに”$”でアクセスがで きる
    • データフレームインポートdata.frame(..., row.names = NULL, check.rows = FALSE, check.names = TRUE, stringsAsFactors = default.stringsAsFactors())> MyDataFrame = data.frame(myMatrix)read.table(file, header = FALSE, sep = "", quote = """, dec = ".", row.names, col.names, as.is = !stringsAsFactors, na.strings = "NA", colClasses = NA, nrows = -1, skip = 0, check.names = TRUE, fill = !blank.lines.skip, strip.white = FALSE, blank.lines.skip = TRUE, comment.char = "#", allowEscapes = FALSE, flush = FALSE, stringsAsFactors = default.stringsAsFactors(), fileEncoding = "", encoding = "unknown", text) データフレームを取り込 データフレームを保存す む: る: ● read.table(file) ● write.table(object,file) ● read.csv(file) ● write.csv(object,file) ● read.delim(file) ● write.delim(object,file)
    • データフレームデータフレームをエディト:● edit(dataFrame)● fix(dataFrame)● data.entry(dataFrame)データフレームをプレヴュー:● head(dataFrame)● tail(dataFrame)● Colnames(dataFrame)● Rownames(dataFrame)● summary(dataFrame)● table(dataFrame)
    • ベクブーリアン型 リス ター ト ご 清 聴 あ りが と うご ざ い ま し た 列挙文字列 型 R を 共 に 勉 強 し ま し ょ う! 数値型 配列データフレーム