5

split() が常に結果をソートしていると確信できるかどうか疑問に思っていますか? 並べ替えのルールは?この例は機能しますが、ヘルプ ページに適切な行が見つかりません。ヘルプを読み間違えていたらすみません。

 dat.exmpl <- data.frame(cbind(a=11:20, b=rep(3,10)), fac = c(2,1))
 split(dat.exmpl, dat.exmpl$fac)
 dat.exmpl <- data.frame(cbind(a=11:20, b=rep(3,10)), fac=rep(c("blueb","bluea")))
 split(dat.exmpl, dat.exmpl$fac)

ExtraQ: 供給された順序を維持する方法はありますか?

4

1 に答える 1

2

のソート順splitは、グループ化変数の因子順です。したがって、グループ化変数が因子である場合、その因子のレベルはそのまま維持されます。

例:facレベルを持つようにデータを変更しますc("blueb","bluea")

dat.exmpl <- data.frame(
  a=11:20, 
  b=rep(3,10), 
  fac=factor(rep(c("blueb","bluea")), levels=c("blueb","bluea"))
)

の結果はsplitのレベルと同じ順序になりますfac:

split(dat.exmpl, dat.exmpl$fac)
$blueb
   a b   fac
1 11 3 blueb
3 13 3 blueb
5 15 3 blueb
7 17 3 blueb
9 19 3 blueb

$bluea
    a b   fac
2  12 3 bluea
4  14 3 bluea
6  16 3 bluea
8  18 3 bluea
10 20 3 bluea
于 2012-06-11T10:06:14.270 に答える