2016-06-24 13 views
1

私は1000の値のベクトルを持っています。それから100ビンのヒストグラムを作成します。私はベクトル=(Value、Freq)の値を個々の値にしたいので、freq =特定の値が入るビン内の値の数を使って1000個のベクトルを持つことになります。個々の値と各ヒストグラムビンの数を組み合わせる

うまくいけば、これは問題がより明確にすることができます:あなたの例に基づいて

data <- c(6.429229, 9.300965, 11.073744, 6.527263, 8.425178, 
      6.821384, 6.515991, 9.131452, 6.313888, 8.866572) 
Myhist <- hist(data,2) 
Myhist$counts 
# 5 4 1 

# c(5,4,1,5,4,5,5,4,5,4) 
MyDF <- cbind(data,c(5,4,1,5,4,5,5,4,5,4)) 
# Result I want: 

# [1,] 6.429229 5 
# [2,] 9.300965 4 
# [3,] 11.073744 1 
# [4,] 6.527263 5 
# [5,] 8.425178 4 
# [6,] 6.821384 5 
# [7,] 6.515991 5 
# [8,] 9.131452 4 
# [9,] 6.313888 5 
#[10,] 8.866572 4 
+2

私はこれに従っていません。人々が作業するための[再現可能な例](http://stackoverflow.com/q/5963269/1217536)を提供できますか?ユニークな損失が1000件ある場合は、1k個のビンが必要になり、各ビン内で観測される損失の数は1になります。 – gung

+1

入力の例を教えてください。 10の損失、5つのビン) – digEmAll

+0

ちょっと残念私は基本的な例を追加しました。 – Ashton

答えて

0

を、私はあなたが欲しいものを推測していることは同じビンに分類されている(問題の値を含む)の値の数を知ることですヒストグラムで表します。また、ヒストグラムの区切りを指定したように見えます。

data <- c(6.429229, 9.300965, 11.073744, 6.527263, 8.425178, 
      6.821384, 6.515991, 9.131452, 6.313888, 8.866572) 

get.num.in.bin <- function(data, hist.breaks=2){ 
    Myhist <- hist(data, breaks=hist.breaks, plot=FALSE) 
    cats  <- as.numeric(cut(data, breaks=Myhist$breaks, labels=1:3)) 
    counts <- Myhist$counts[cats] 
    new.data <- data.frame(data=data, num.in.bin=counts) 
    return(new.data) 
} 
get.num.in.bin(data) 
#   data num.in.bin 
# 1 6.429229   5 
# 2 9.300965   4 
# 3 11.073744   1 
# 4 6.527263   5 
# 5 8.425178   4 
# 6 6.821384   5 
# 7 6.515991   5 
# 8 9.131452   4 
# 9 6.313888   5 
# 10 8.866572   4 
関連する問題