1

私は miscTools パッケージを使用しており、colMedians を利用したいと考えています。データを多くのグループに分割しましたが、それらのグループの一部には 1 つの行しかありません。したがって、colMedians は「引数 'x' は数値でなければなりません」と言います。colMedians にこれらのグループを無視させる (またはそれらの値を逆流させる) 方法はありますが、複数の行を持つグループの Stage.Duration の中央値を計算しますか?

データは次のようになります。

Opportunity.Name       Stage.Duration       Probability
      Bob                 10                   20
      Bob                 20                   50
      Bob                 76                   90
      Jon                 50                   80
      Jon                 34                   50
      Jon                 23                   100

gdata <- split(data, Opportunity.Name)
gdata$`Bob`
Opportunity.Name       Stage.Duration       Probability
      Bob                 10                   20
      Bob                 20                   50
      Bob                 76                   90          
seven <- lapply(gdata, function(x){x[x$Probability>=70,]})
seven
Opportunity.Name       Stage.Duration       Probability
      Bob                 76                   90        

med<-sapply(seven, function(x) colMedians(x[,c("Stage.Duration", "Probability")]))

注: 「med」コードは Stage.Duration と Probability の中央値を計算しますが、Stage.Duration のみが必要です。この特定のコードを実行するには 2 つの列が必要であり、同様の関数を実行する他の方法がわかりませんでした。このコードは、colMeans に対して機能します。

4

1 に答える 1