ビニングした非常に大きなデータセットがあり、各ビン(サブセット)をリストとして保存しているので、任意のサブセットを簡単に呼び出すことができます。私の問題は、サブセット内の特定の列を呼び出すことです。
たとえば、私のデータ(列として直径と強度を持っている)は、直径ごとに20のビンに分割されています。次のように、データを手動でビニングしました。
subset.1 <- subset(mydata, Diameter <= 0.01)
同様のコマンドを使用して、20個のビンを作成しました。次に、名前(subset.1からsubset.20)をリストに保存しました。
diameter.bin<-list(subset.1, ... , subset.20)
以下を使用して、各直径ビンを正常に呼び出すことができます。
diameter.bin[x]
これで、特定の直径ビンの強度値のみを表示したい場合は、元の名前(つまり、リストに格納されている)を使用できます。
subset.x$Strength
しかし、リスト呼び出しを使用してこの情報を取得することはできません。
diameter.bin[x]$Strength
このコマンドはNULL
サブセットを(diameter.bin[x]
、subset.x
またはでさえsubset.x$Strength
)呼び出すと、列ヘッダーが表示されることに注意してください。私が使用するとき:
names(subset.1)
これは戻り"Diameter"
、"Strength"
しかし、私が使用するとき:
names(diameter.bin[1])
これはを返しますNULL
。
列ヘッダーが問題の一部であると想定していますが、元のデータファイルからヘッダーを削除する以外に、修正方法がわかりません。可能であれば、これは行わない方がいいと思います。
最終目標は、各直径ビンの強度値の分布を確認することです。そのため、ヒストグラムの描画、パラメーターの計算などを行います。これらの線に沿って何かを実行して、ヒストグラムを作成したいと考えていました。
n=length(diameter.bin)
for(i in (1:n))
{
hist(diameter.bin[i]$Strength)
}
そして、これと同様のことを行って、各ビンの中央値を新しいベクトルに格納します。
現在、一度に1ビンすべてを実行しているので、ヒントは大歓迎です。ループ(または同様のもの)を使用すると、分析が実際に高速化されることがわかっています。