作業目的のために、行列の全体的な分位点を見つける必要があります。私は行列を2次元の列に "unlist"または "break"することができ、Rはベクトルに "quantile"関数を簡単に適用できることを知っています。行列全体の分位数を計算する
しかし、私は行列をリストから外して分位点を計算すると、リストにないデータを元のデータに戻す方法はわかりません。誰かが私にこれを達成する方法を教えてもらえますか?あるいは私の目的を達成するための代替手段がありますか?
作業目的のために、行列の全体的な分位点を見つける必要があります。私は行列を2次元の列に "unlist"または "break"することができ、Rはベクトルに "quantile"関数を簡単に適用できることを知っています。行列全体の分位数を計算する
しかし、私は行列をリストから外して分位点を計算すると、リストにないデータを元のデータに戻す方法はわかりません。誰かが私にこれを達成する方法を教えてもらえますか?あるいは私の目的を達成するための代替手段がありますか?
あなたのデータ構造はあまり明確ではありません。あなたが実際にunlist
か何かする必要はありませんクラスmatrix
のオブジェクトを持っている場合は、マトリックス上で直接quantile
を呼び出すことができます。
> m = matrix(1:100, nrow = 10)
> quantile(m, probs = c(.25, .5, .75))
25% 50% 75%
25.75 50.50 75.25
あなたはdata.frame
を持っている場合は、あなたがunlist
する必要があります(または変換しませんマトリックスにはas.matrix
)、保存したデータフレームを上書きする必要はありません。
> my_df = data.frame(c1 = 1:5, c2 = 11:15)
> quantile(unlist(my_df), probs = c(.25, .5, .75))
25% 50% 75%
3.25 8.00 12.75
> my_df
c1 c2
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15
最後に、my_df
はまだデータフレームです。リストにないバージョンのmy_df
を再割り当てしない限り、変更されません。