2017-01-03 7 views
1

df$sに対してbreaksを生成し、df$pおよびdf$aのどの値がこれらのbreaksに対応するのかを知っています。だから、複数の変数のための一般的な休憩を見つける

私がしなければ:s.breaksに対応df$pdf$qの値がどうなるか

s.breaks <- hist(df$s,breaks=10,plot=F)$breaks 

答えて

2

ヒストグラム関数が作成したカテゴリは、findIntervalを使用して取得できます。ここで

df$cats <- findInterval(df$s, s.breaks) 

は、ヒストグラム

s.hist <- hist(df$s,breaks=10,plot=F) 
str(s.hist) 
List of 6 
$ breaks : num [1:11] -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 ... 
$ counts : int [1:10] 1 3 7 14 21 20 19 9 4 2 
$ density : num [1:10] 0.02 0.06 0.14 0.28 0.42 0.4 0.38 0.18 0.08 0.04 
$ mids : num [1:10] -2.25 -1.75 -1.25 -0.75 -0.25 0.25 0.75 1.25 1.75 2.25 
$ xname : chr "df$s" 
$ equidist: logi TRUE 
- attr(*, "class")= chr "histogram" 

の構造である可変数の要素に注意してください。これは、df $ catsのtableの出力と同じです。

table(df$cats) 

1 2 3 4 5 6 7 8 9 10 
1 3 7 14 21 20 19 9 4 2 

目標は、その後、計算を実行するためのdf $猫によって構築カテゴリを使用する場合。その後、あなたは完了です。例えば、

tapply(df$p, df["cats"], mean) は、あなたの質問から各ヒストグラムのバーに含まれる観測用のDF $ bの平均値を計算します。

対応するカテゴリセル内で同じ数のカウントを持つ他の変数のカテゴリを作成することを目標にする場合は、このようにcumsumfindIntervalと一緒に使用できます。

df$catp <- findInterval(rank(df$p), cumsum(c(1, s.hist$counts, 1))) 

あなたは細胞数がtableに再び並ぶことを確認することができます。

table(df$catp) 

1 2 3 4 5 6 7 8 9 10 
1 3 7 14 21 20 19 9 4 2 
+0

次に、a.breaksのdf $ bとdf $ cの同等の値を線形的に外挿しますか? – dan

+0

私はあなたがそのことによって何を意味するか完全にはわからないと思います。 aと同じ形のbとcのヒストグラムを作成しますか?またはあなたはbとcをグループに分けるために猫の休憩を使いたいですか? – lmo

+0

a.breaksに対応するbとcの値を探したいと思います。例えば、a = -2.5(a.breaks [1])に対応するbとcの値は何ですか?だから私は、あなたが言及する最初の選択肢は、私のアリに近いと思う。 – dan

関連する問題