【R言語】共通基本関数

4592 ワード

ベクトル操作の関数
1、zはベクトル
sum(z)               #  
mean(z)              #    
sd(z)                #    
median(z)            #    
sort(z)              #       append(z,2:3,after)     
append(z,2:3,after=2)  #   z    2       2 3

マトリックス操作の関数
A,B,Cは行列である

t(A)                #     A     
dim(A)              #   A      
nrow(A)             #      
ncol(A)             #      
rbind(B,C)          #      
cbind(B,C)          #      

グループ関数
1、apply関数
1つの配列を行単位または列単位で計算するapply(xy,1,sum)行列xyを行単位で和apply(xy,2,mean)行列xyを列単位で平均数を求めるフォーマットは、apply(X,MARGIN,FUN,...)のXが1つの配列である.MARGINは1つのベクトル(関数FUNをXに適用する行を表すか列を表すか)であり、1が取行を表す場合は2が取列を表し、c(1,2)が行、列ともに計算を表す.
x 10,-1,1);x     #         ,     n   ,     min   ,   max   
y 10,0.5,1);y    #         ,     n   ,   mean=0       ,sd=1         
xy #       
apply(xy,1,sum)           # xy        
apply(xy,2,mean)          # xy        

2、tapply関数
グループ統計を行う
tapply(X,INDEX,FUN=NULL,...,simplify=TRUE)Xは通常ベクトルである.INDEXはリストオブジェクトであり、リストの各要素はXと同じ長さの因子である.FUNは計算が必要な関数です.Simplifyは論理変数である、値がTRUE(デフォルト値)であり、関数FUNの計算結果が常に1つのスカラー値である場合、関数tapplyは1つの配列を返す;値がFALSEである場合、関数tapplyの戻り値はlistオブジェクトである.2番目のパラメータINDEXが因子でない場合、関数tapply()も同様に有効である.必要に応じてRはasを用いる.factor()はパラメータを強制的に因子に変換する.
t1 1:4,length=14),levels=1:5,labels=c("A","B","C","D","E"));t1
t2 1:14) ;t2
tapply(t2,t1,sum)        #  t1    t2      ,       
tapply(t2,t1,sum,simplify=FALSE)  #  t1    t2      ,      list  

3、lapply()
3、lapply()リストオブジェクト呼び出し関数の計算
Lapply(X,FUN,...)lapplyの戻り値は、関数FUNをXに適用する各要素であるXと同じ長さのlistオブジェクトです.ここで、Xはリストオブジェクト(リストの各要素がベクトルである)であり、他のタイプのオブジェクトはRによって関数as.list()によって自動的にlistタイプに変換される.
L1 list(a=1:20,b=runif(30,-2,5),d=matrix(c(1:10))) #      
lapply(L1,quantile)  #     L1     

quantileは4分位数の4分位数を求めて1つのリストに対して並べ替えた後で、)%0,%25,%50,%75100%の位置の上の数
4、sapply()
関数sapplyは関数lapplyの特殊なケースであり、sapply(X,FUN,...,simplify=TRUE,USE.NAMES=TRUE)sapply(,simplify=FALSE,USE.NAMES=FALSE)とlapply()の戻り値が同じ形式で使用されるパラメータの値をいくつか限定している.パラメータsimplify=TRUEの場合、関数sapplyの戻り値はlistではなくマトリクスである.simplify=FALSEの場合、関数sapplyの戻り値はlistのままです.
sapply(L1,quantile,simplify=FALSE,use.names=FALSE)  # L1     ,       
sapply(L1,quantile,simplify=TRUE,use.names=FALSE)   # L1     ,