R programming #2


  • ベクトル
  • チェック
  • タイプ:mode()
  • チェック
  • 長さ:length()
  • 要素名解析:names()
  • 2-1. c()関数
  • c():ベクトルの基本関数を生成します.結合要素の関数
  • > xVec <- c(11, 22, 33, 44, 55, 66, 77)
    > xVec
    [1] 11 22 33 44 55 66 77
    > mode(xVec)
    [1] "numeric"
    
    > yVec <- c("R", "python", "Java", "C", "html")
    > yVec
    [1] "R" "python" "Java" "C" "html"
    > mode(yVec)
    [1] "character"
    
    > zVec <- c(T, T, F, F, T)
    > zVec
    [1] TRUE TRUE FALSE FALSE TRUE
    > mode(zVec)
    [1] "logical"
    2-2. 数列演算子(:)
  • 演算子(:)を使用して、数列ベクトル
  • を生成します.
  • 演算子(:)は、演算子の左側の被演算子と右側の被演算子の入力範囲内のすべてのデータを順番にリストした演算子
  • である.
  • 1で増加または減少する等差数列が生成される.左側<右側:1増加、左側>右側:1減少
  • > 1004:1020
     [1] 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 
    [13] 1016 1017 1018 1019 1020
    
    > 1020:1004
     [1] 1020 1019 1018 1017 1016 1015 1014 1013 1012 1011 1010 1009 
    [13] 1008 1007 1006 1005 1004
    
    > -10:10
    [1] -10 -9 -8 -7- -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
    2-3. seq()関数
  • seq()関数の引数は、数列演算子(:)よりも多くの制御権を有します.
  • 関数:seq(from,to,by)
    引数:開始値/終了値/増分値
  • > seq(from = 1, to - 20)
    [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
    
    > seq(1, 20)
    [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
    
    > seq(1, 20, by=2)
    [1] 1 3 5 7 9 11 13 15 17 19
    
    >seq(1, 20, 2)
    [1] 1 3 5 7 9 11 13 15 17 19
    
    >seq(1, 20, by=6)
    [1] 1 7 13 19
    2-4. rep()関数
  • rep()は、一定の規則を有する繰返しベクトルを生成する関数
  • である.
  • 関数:rep(x、each、times)
    引数:反復するx値を格納ベクトル/各値の繰返し回数-データ全体の繰返し回数
  • > rep(1004, times=5)
    [1] 1004 1004 1004 1004 1004
    
    > rep(1:3, times=2)
    [1] 1 2 3 1 2 3
    
    > rep(1:3, 2)
    [1] 1 2 3 1 2 3
    
    > rep(c(1,2,3), 2)
    [1] 1 2 3 1 2 3
    
    > rep(1:3, each=3)
    [1] 1 1 1 2 2 2 3 3 3
    
    > rep(1:3, each=3, times=2)
     [1] 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3
     
    > rep(c("Y", "N"), c(10, 5))
     [1] "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "N" "N" "N"
    [14] "N" "N"
    2-5. paste()関数とpaste 0()関数
  • 要素数が多く重複する場合、paste()関数またはpaste 0()関数を用いて重複文字列
  • を容易に生成することができる.
  • cf)paste(「room」、101:105、sep=」)またはpaste 0(「room」、101:105)roomと101:105の間に5つのスペースのない重複文字列
  • を生成する
    > paste("room", 101:105)
    [1] "room 101" "room 102" "room 103" "room 104" "room 105"
    
    > paste("room", 101:105, sep="")
    [1] "room101" "room102" "room103" "room104" "room105"
    
    > paste0("room", 101:105)
    [1] "room101" "room102" "room103" "room104" "room105"
    2-6. replace()関数
  • replace()関数は、一部のデータを変更するために使用されます.
    #replace() 함수를 이용한 일부 데이터 변경
    > room <- paste("room", 101:105, sep="")
    
    > room
    [1] "room101" "room102" "room103" "room104" "room105"
    
    > replace(room, 5, "suiteRoom")
    [1] "room101"   "room102"   "room103"   "room104"   "suiteRoom"
    2-7. append()関数
  • append()関数は、特定の場所にデータを追加するために使用されます.
    > room <- paste("room", 101:105, sep="")
    
    > room
    [1] "room101" "room102" "room103" "room104" "room105"
    
    > append(room, "suiteRoom", after=1)
    [1] "room101"   "suiteRoom" "room102"   "room103"   "room104"   "room105" 
    
    > append(room, "suiteRoom")
    [1] "room101"   "room102"   "room103"   "room104"   "room105"   "suiteRoom"
    2-8. とがった
  • Rにおいて、符号は角括弧[]であり、合計
  • である.
  • ルーラー[]でベクトル中の特定の位置の要素を抽出し、新しいベクトル
  • を生成する.
    > vec <- 1004:1020
    
    > vec
     [1] 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015
    [13] 1016 1017 1018 1019 1020
    
    > vec[5]
    [1] 1008
    
    > vec[1:10]
     [1] 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013
     
     #vec[-1]은 vec의 1번째 원소를 제외한 벡터 생성
    > vec[-1]
     [1] 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016
    [13] 1017 1018 1019 1020
    
    > vec[-1:-10]
    [1] 1014 1015 1016 1017 1018 1019 1020
    
    > yVec <- c("R", "python", "Java", "C", "html")
    
    > yVec
    [1] "R"      "python" "Java"   "C"      "html"  
    
    > yVec[2]
    [1] "python"
    
    > yVec[1:2]
    [1] "R"      "python"
    
    > yVec[-5]
    [1] "R"      "python" "Java"   "C"     
    
    > yVec[-1:-2]
    [1] "Java" "C"    "html"
    2-9. names()関数
  • names()関数を使用して、ベクトル内の各要素に
  • と名前を付けます.
  • 名前サポートベクトルアクセス
  • > score <- c(90, 89, 80, 67, 95)
    > names(score) <- c("R", "python", "Java", "C", "html")
    
    > score
         R python   Java      C   html 
        90     89     80     67     95 
        
    > score[2]
    python 
        89 
        
    > score["python"]
    python 
        89 
    
    > score[1:2]
         R python 
        90     89 
    
    > score[c("R", "python")]
         R python 
        90     89 
    2-10. 検出値NA
  • R測定値を符号NA(使用不可)
  • と表記する.
  • 買収rm=TRUEはNAを除去し、統計相関関数
  • を適用する
  • is.測定値
  • を含むか否かは、na()を用いて決定することができる.
    > xVec <- c(11, 22, 33, 44, 55, 66, NA)
    
    > xVec
    [1] 11 22 33 44 55 66 NA
    
    > is.na(xVec)
    [1] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
    
    > mean(xVec)
    [1] NA
    
    > mean(xVec, na.rm = TRUE)
    [1] 38.5