狠狠撸

狠狠撸Share a Scribd company logo
R言語超初心者用
2. ベクトル
鈴木禎子
株式会社Joe’sクラウドコンピューティング
この章の内容
1. ベクトルの生成
2. ベクトルの要素にアクセス
3. クラス numericのオブジェクトの操作
4. クラス logicalのオブジェクトの操作
5. クラス characterのオブジェクトの操作
6. 並替え?集合についての関数
7. 統計関数
8. クラス factor
ベクトルの生成
c(-5,2) c(要素, 要素, …)の形で書く
c(-1, TRUE, “abc”) 各要素のclassが異なってもよい
c(-98.1) 要素が1個でもベクトル-98.1と同じ
c() 要素が0のベクトルは、NULLと表示される
1:10 1から10までの数からなるベクトル
5:-15 5から-15までの数(下がっていく)からなるベクトル
rep(c(-1,7,4),length=8) -1 7 4 -1 7 4 -1 7
ベクトルの要素にアクセス
x<-round(rnorm(6),1); y<-round(rnorm(6),1); x; y
x[6]; x[3:5]; x[c(-1,-2)]; x[x>0]
Xのうち、6番目、3番目から5番目、1番目と2番目以外、値が正のもの
z<-x
z[2:3]<-x[c(3,5)] zの2番目、3番目をxの3番目、5番目で置き換える
z[3]<-0 zの3番目を0にする
z[c(1,4,5)]<-NA; z zの5番目、7番目、9番目をNA(値なし)に置き換える
is.na(z) zの6個のそれぞれがNAかどうかのlogicalのベクトル
z[!is.na(z)] zでNAではない要素
length(z) zの要素の数
クラス numericのオブジェクトの操作
c(1,2)+c(3,4); c(1,2)-c(3,4); c(1,2)*c(3,4); c(1,2)/c(3,4);
c(c(1,2),c(3,4))
1/c(1,2); c(1,2)==c(3,4) 要素ごとに演算
xy<-c(x,y) x,yのそれぞれの6個の要素を結合
xy
x+y; x-y; x*y; x/y; x^2; 1/x; x==y 要素ごとに演算
クラス logicalのオブジェクトの操作
abs(x) 各要素の絶対値をとる
sqrt(abs(x)) 絶対値をとって非負なので平方根がとれる
x==abs(x) 各要素を絶対値をとって値が変わるか(6個のlogicalの値)
x.logic<-x==abs(x) 6個の要素からなるlogicalのベクトル
y.logic<-y==abs(y)
x.logic|y.logic 6個の要素からなるlogicalのベクトル同士の演算
x.logic||y.logic 要素が2個以上の場合、最初の1組の|
x.logic&y.logic 6個の要素からなるlogicalのベクトル同士の演算
x.logic&&y.logic 要素が2個以上の場合、最初の1組の&
any(xy>1) xyの中でどれかひとつでも1を超えているか
all(xy<1) xyのすべてが1未満か
クラス characterのオブジェクトの操作
months <- c("Jan","Feb","March","April","May","June",
"July","August","September","October","November","December")
months[9:12]<-substring(months[9:12],1,3) 最後の3月も3文字に置き換える
months 12個の月をもう一度見る
names(xy) monthのそれぞれの要素には名前がついていなかった
names(xy)<-months
xy monthのそれぞれの要素には名前がついている
並替えについての関数
関数 意味 x=c(0.5 -1.0 -0.3 -1.2 0.6 0.6)
rev(x) 逆に並べる x=c(0.6 0.6 -1.2 -0.3 -1.0 0.5)
sort(x) 小さい順に並べる -1.2 -1.0 -0.3 0.5 0.6 0.6
order(x) 並べ替えると何番目にくるか 4 2 3 1 5 6
統計関数
関数 意味 x=c(0.5, -1.0, -0.3, -1.2, 0.6, 0.6)
max(x) 最大値 0.6
mean(x) 平均 -0.1333333
median(x) 中央値 0.1
min(x) 最小値 -1.2
quantile(x) 最小値、25%タイル、中央値、75%
タイル、最大値
-1.200 -0.825 0.100 0.575
0.600
range(x) 最大値 - 最小値 -1.2 0.6
sd(x) 標準偏差 0.8238123
sum(x) 合計 -0.8
var(x) 分散 0.6786667
クラス factor
u<-rnorm(12); v<-sign(u)
fc <- factor(v) fcをと-1の2個の値をもつfactorにする
fc
levels(fc) factorクラスのfcが1,-1の2個のレベルをもつ
is.numeric(fc)
is.factor(fc) fcは、numericクラスではなく、factorクラスになっている
クラスfactorのオブジェクトの要素は大小を比較できないカテゴリーデータ
入力がfactorのオブジェクトを対象にした関数が用意されている
tapply(u,fc,sum)
uの各値をfc(+1か-1か)でわけて、それぞれでsumをとる。

More Related Content

Rの初歩: 2. ベクトル

  • 2. この章の内容 1. ベクトルの生成 2. ベクトルの要素にアクセス 3. クラス numericのオブジェクトの操作 4. クラス logicalのオブジェクトの操作 5. クラス characterのオブジェクトの操作 6. 並替え?集合についての関数 7. 統計関数 8. クラス factor
  • 3. ベクトルの生成 c(-5,2) c(要素, 要素, …)の形で書く c(-1, TRUE, “abc”) 各要素のclassが異なってもよい c(-98.1) 要素が1個でもベクトル-98.1と同じ c() 要素が0のベクトルは、NULLと表示される 1:10 1から10までの数からなるベクトル 5:-15 5から-15までの数(下がっていく)からなるベクトル rep(c(-1,7,4),length=8) -1 7 4 -1 7 4 -1 7
  • 4. ベクトルの要素にアクセス x<-round(rnorm(6),1); y<-round(rnorm(6),1); x; y x[6]; x[3:5]; x[c(-1,-2)]; x[x>0] Xのうち、6番目、3番目から5番目、1番目と2番目以外、値が正のもの z<-x z[2:3]<-x[c(3,5)] zの2番目、3番目をxの3番目、5番目で置き換える z[3]<-0 zの3番目を0にする z[c(1,4,5)]<-NA; z zの5番目、7番目、9番目をNA(値なし)に置き換える is.na(z) zの6個のそれぞれがNAかどうかのlogicalのベクトル z[!is.na(z)] zでNAではない要素 length(z) zの要素の数
  • 5. クラス numericのオブジェクトの操作 c(1,2)+c(3,4); c(1,2)-c(3,4); c(1,2)*c(3,4); c(1,2)/c(3,4); c(c(1,2),c(3,4)) 1/c(1,2); c(1,2)==c(3,4) 要素ごとに演算 xy<-c(x,y) x,yのそれぞれの6個の要素を結合 xy x+y; x-y; x*y; x/y; x^2; 1/x; x==y 要素ごとに演算
  • 6. クラス logicalのオブジェクトの操作 abs(x) 各要素の絶対値をとる sqrt(abs(x)) 絶対値をとって非負なので平方根がとれる x==abs(x) 各要素を絶対値をとって値が変わるか(6個のlogicalの値) x.logic<-x==abs(x) 6個の要素からなるlogicalのベクトル y.logic<-y==abs(y) x.logic|y.logic 6個の要素からなるlogicalのベクトル同士の演算 x.logic||y.logic 要素が2個以上の場合、最初の1組の| x.logic&y.logic 6個の要素からなるlogicalのベクトル同士の演算 x.logic&&y.logic 要素が2個以上の場合、最初の1組の& any(xy>1) xyの中でどれかひとつでも1を超えているか all(xy<1) xyのすべてが1未満か
  • 7. クラス characterのオブジェクトの操作 months <- c("Jan","Feb","March","April","May","June", "July","August","September","October","November","December") months[9:12]<-substring(months[9:12],1,3) 最後の3月も3文字に置き換える months 12個の月をもう一度見る names(xy) monthのそれぞれの要素には名前がついていなかった names(xy)<-months xy monthのそれぞれの要素には名前がついている
  • 8. 並替えについての関数 関数 意味 x=c(0.5 -1.0 -0.3 -1.2 0.6 0.6) rev(x) 逆に並べる x=c(0.6 0.6 -1.2 -0.3 -1.0 0.5) sort(x) 小さい順に並べる -1.2 -1.0 -0.3 0.5 0.6 0.6 order(x) 並べ替えると何番目にくるか 4 2 3 1 5 6
  • 9. 統計関数 関数 意味 x=c(0.5, -1.0, -0.3, -1.2, 0.6, 0.6) max(x) 最大値 0.6 mean(x) 平均 -0.1333333 median(x) 中央値 0.1 min(x) 最小値 -1.2 quantile(x) 最小値、25%タイル、中央値、75% タイル、最大値 -1.200 -0.825 0.100 0.575 0.600 range(x) 最大値 - 最小値 -1.2 0.6 sd(x) 標準偏差 0.8238123 sum(x) 合計 -0.8 var(x) 分散 0.6786667
  • 10. クラス factor u<-rnorm(12); v<-sign(u) fc <- factor(v) fcをと-1の2個の値をもつfactorにする fc levels(fc) factorクラスのfcが1,-1の2個のレベルをもつ is.numeric(fc) is.factor(fc) fcは、numericクラスではなく、factorクラスになっている クラスfactorのオブジェクトの要素は大小を比較できないカテゴリーデータ 入力がfactorのオブジェクトを対象にした関数が用意されている