0

私はプログラミングが初めてで、明らかにRも初めてです。Rでいくつかのドキュメントを学んでおり、Rでプログラミングを始めました。

データ フレーム名Data1が , Data2,Data3の4 つのデータ フレームがありますData4。各データ フレームには 8 つの列 ( V1V2V3V4V5V6、 )V7V810,000 行があります。行数と列数はすべてのデータ フレームで同じです。

4 つのデータ フレームすべての各行の 8 列目 ( V8) の要素を対応する行と比較し、最大値と最小値を見つけたいと考えています。たとえば、各データ フレームに 10 行と 8 列がある場合、 、 、 の 1 行 8 列目の要素を比較してData1Data2最大Data3Data4と最小値を見つける必要があります。Data1次に、Data2Data3、の 2 行 8 列目の要素を比較してData4、最大値と最小値を見つける必要があります。同様に、3 行目の 8 列目の要素、4 行目の 8 列目の要素と、残りの 10,000 行に対してこれを行う必要があります。これをどのように行う必要があり、どの機能を使用する必要がありますか?

4

2 に答える 2

2

サンプルデータ:

Data1 <- as.data.frame(matrix(runif(80), 10, 8))
Data2 <- as.data.frame(matrix(runif(80), 10, 8))
Data3 <- as.data.frame(matrix(runif(80), 10, 8))
Data4 <- as.data.frame(matrix(runif(80), 10, 8))

できるよ:

pmin(Data1$V8, Data2$V8, Data3$V8, Data4$V8)
pmax(Data1$V8, Data2$V8, Data3$V8, Data4$V8)

または、よりプログラム的なもの(ここには多くのバリエーションがあります)

Datas <- mget(paste0("Data", 1:4))
do.call(pmin, lapply(Datas, `[[`, "V8"))
do.call(pmax, lapply(Datas, `[[`, "V8"))
于 2013-10-22T12:48:13.557 に答える
1

列を新しいデータフレームに結合できます。次に、行単位の最小値または最大値を簡単に見つけることができます。

newd <- data.frame(a=Data1$V8, b=Data2$V8, c=Data3$V8, d=Data4$V8)
apply(newd, 1, max)
于 2013-10-22T12:38:19.310 に答える