グループを作成する機能を自動化しようとしています。したがってclassIntervalls
、パッケージclassInt
とパッケージcut
から使用しbase
ます。スタイルを「jenks」にして、グループサイズをデフォルトで 10 にしたいと思います。観測値が 10 個未満の場合unique
は、グループの数を一意の観測値の数にしたいと思います。だからここに私が試したものがあります:
set.seed(45)
b=sample(1:50,10)
groupfunction<-function(data,my.style="jenks"){
ifelse(length(unique(data))<10,tmpbrk<-length(unique(data)),tmpbrk<-10)# tests if the number of unique values is bigger than 10
tmp<-classIntervals(data,tmpbrk,my.style,unique=T) #find the intervalls
tmp<-cut(data,tmp$brks,dig.lab=20,include.lowest = T) #cut the data by the breaks from the intervalls
tmp<-as.character(tmp) #turn results into characters to substitute unwanted characters
tmp<-gsubfn(".",list("["="",","="-",")"="","("=""," "="","]"=""),tmp) # substitute unwanted characters
}
groupfunction(b)
しかし、次のエラー メッセージが表示されます。
このエラー メッセージの意味はわかっています。しかし、誰でもこの機能を実装して機能させるのを手伝ってもらえますか? 聞いcut2
たことはありますが、ジェンクで実装できるかどうかはわかりません。