次のコードで、R を使用して相関関係を作成しています。
Values<-read.csv(inputFile, header = TRUE)
O<-Values$Abundance_O
S<-Values$Abundance_S
cor(O,S)
pear_cor<-round(cor(O,S),4)
outfile<-paste(inputFile, ".jpg", sep = "")
jpeg(filename = outfile, width = 15, height = 10, units = "in", pointsize = 10, quality = 75, bg = "white", res = 300, restoreConsole = TRUE)
rx<-range(0,20000000)
ry<-range(0,200000)
plot(rx,ry, ylab="S", xlab="O", main="O vs S", type="n")
points(O,S, col="black", pch=3, lwd=1)
mtext(sprintf("%s %.4f", "pearson: ", pear_cor), adj=1, padj=0, side = 1, line = 4)
dev.off()
pear_cor
ここで、各データ セットの下位四分位を見つけ、下位四分位内にあるデータを除外する必要があります。次に、これらの値を使用せずにデータを書き換え、相関分析で新しい列のデータを使用したいと思います (データのしきい値を下位四分位数にしたいため)。Java から引数を適用してしきい値を簡単に変更できるように、これを記述する方法があれば (入力ファイル名のように)、さらに優れています!
どうもありがとう。
私は今、以下の答えを示唆しており、それは機能していますが、相関のためにデータのペアを一緒に保つ必要があります. これが私のデータの例です(csvから):
Abundance_O Abundance_S
3635900.752 1390.883073
463299.4622 1470.92626
359101.0482 989.1609251
284966.6421 3248.832403
415283.663 2492.231265
2076456.856 10175.48946
620286.6206 5074.268802
3709754.717 269.6856808
803321.0892 118.2935093
411553.0203 4772.499758
50626.83554 17.29893001
337428.8939 203.3536852
42046.61549 152.1321255
1372013.047 5436.783169
939106.3275 7080.770535
96618.01393 1967.834701
229045.6983 948.3087208
4419414.018 23735.19352
そのため、いずれかが四分位のしきい値 (0.25 四分位) を満たさない場合は、行の両方の値を除外する必要があります。したがって、O の四分位数が 45000 の場合、行 "42046.61549,152.1321255" が削除されます。これは可能ですか?両方の列をデータフレームとして読み取った場合、各列を個別に検索できますか? または、四分位数を見つけて、その値をコードに入力して適切な行を削除しますか?
重ねてお礼申し上げます。質問の展開について申し訳ありません。