200万行を超えるテーブルがあります。 1つの変数のパーセンタイルと観測数のパーセンタイル(ローレンツ曲線など)にのみ興味があります。
を含む小さなデータフレームを作成するにはどうすればよいですか例えば観測番号1,101,201,301、...、lastまたは、たとえば観測の合計数の1,2,3、...、100パーセンタイル?
ローレンツ曲線を取得する簡単な方法はありますか(インデックス、変数)パーセンテージベースの軸で?今、インデックスと変数のパーセンタイルに変数を追加し、それらを互いにプロットすることを考えていました。
ありがとう、
ロベルト
回答:
回答№1は1最初の質問については、私は quantile
関数。(たとえば)最初の列の観測の総数の1,2,3、...、100パーセンタイルに従ってデータフレームのサブセットを取得します(列1の整数値を仮定)
df[df[,1] %in% round(quantile(df[,1], probs = c(1:100)/100)),]
回答№2の場合は1
「大きな」データセットの場合
dfr <- data.frame(x = 1:1000, y = runif(1000))
等間隔の行のサブセットを取得できます
dfr[!(seq_len(nrow(dfr)) %% 50),]
または、ランダムなサブセット
dfr[sample(nrow(dfr), 20),]
gd047が述べたように、使用 quantile
分位/パーセンタイルを取得します。