「他の列の対応する値」が必要な場合の意味が明確ではありません。最初の部分は、g (グループの数) 引数を使用して簡単に実現できます。
dfrm$Agrp <- cut2(dfrm$A, g=trunc(length(dfrm$A)/25) )
tapply
またはave
または Hmisc 集計関数の 1 つを使用して Agrp 内の B の平均または中央値を集計できます。今日の質問の 1つには、いくつかの実用的な例があります: グループごとに要約統計を取得する方法、aggregate
およびこれらの関数または pkg:plyr 関数を使用する他の多くの例。
B 値の数がグループ間で必ずしも一定であるとは限らないことを考えると、A-grouped-value によって個々の値を提供すると考えることができる唯一の方法は、split
. 偶数でない分割では、より「長方形」のオブジェクトではなくリストを返す必要がある場合があることを示すために、追加の行を追加しました。
dat <- read.table(text="A B
-10.834510 1.680173
11.012966 1.866603
-16.491415 1.868667
-14.485036 1.900002
2.629104 1.960929
-3.597291 2.005348\n 3.5943 3.796", header=TRUE)
dat$Agrp <- cut2(dat$A, g=trunc(length(dat$A)/3) )
split(dat$B, dat$Agrp)
#-----
$`[-16.49, 2.63)`
[1] 1.680173 1.868667 1.900002 2.005348
$`[ 2.63,11.01]`
[1] 1.866603 1.960929 3.796000
分割が行われた値のベクトルが必要な場合は、 regex on を使用して実現できます levels(dat$Agrp)
。