2016-10-31 12 views
0

3番目の座標(x、y、temp)に基づいてグラフ上に線をいくつか作成しようとしています。私はインデックスのベクトルを取得したいので、重複する温度ごとにxベクトルとyベクトルに分けることができます。私は同じ一時値を持つ複数の行を作成しようとしていますR:データフレームで重複を見つけてベクトルに記録する

DataFrame

:これはより明確にするために、私は私の実際のデータセットが含まれます。たとえば、次の座標を同じ行[0,14] [0,22] [0,26] [0,28]に配置したいとします。彼らはすべて5.8の一時的な値を持っています。重複が見つかると、インデックスをベクトルに記録し、xとyの座標を取り出すことができます。もう1つの側面は、data.frameのエントリ数がわからないということです。

私の質問は、重複を見つけてインデックスをベクトルに格納する方法です。重複するtempsのインデックスを取得したら、その座標を取得して線を作成するのに使うことができます。 あなたは私の質問に答えたり、私はこれより良いを行うことができますどのように上の任意のアドバイスを持つことができる場合は、すべてのヘルプは

+0

あなたが求めているのは、かなり複雑です。入力の例として必要な出力の例を挙げれば助けになります。 –

+0

入力はデータフレーム(私は入力を処理することができます)の出力は、複数の行を持つグラフになります。各行は1つの「temp」値に基づいています。これは、環境科学分野で使用するIsoplethグラフになります。 – DaDuStMaN20

+0

@coffeinjunky DataFrameリンクは、データセットの一部の画像の下のリンクにあります。まだ画像を埋め込むことはできません。 – DaDuStMaN20

答えて

0

を高く評価され、以下を考慮してください。

df <- data.frame(temp = sample.int(n=3, size=5, replace=T)) 
df 
    temp 
1 3 
2 3 
3 1 
4 3 
5 1 

duplicated(df$temp) 
[1] FALSE TRUE FALSE TRUE TRUE 

which(duplicated(df$temp)) 
[1] 2 4 5 
0

あなたが探しているコメントで述べてきましたisopleth graphを作成します。説明した手順では、等値グラフに似たものは生成されません。データが通常のグリッドに配置されているように見えるので、this question and answerにあるソリューションのように、グリッドから輪郭を抽出するために特別に設計された関数を使用する必要があります。もう1つのオプションは、gDevicesパッケージのcontourLines functionです。高解像度で、ギザギザのない輪郭が必要な場合は、fields packageinterp.surfaceまたはKrig機能を使用して、必要な解像度にデータを補間することができます。

+0

私は科学者ではありません私はグラフの例を得た。私はそれが等値グラフであると言われました。科学者は池の温度を調べていた。 x座標は彼らが池の片側から行った距離であり、y座標は温度を測定した深さであり、tempはその深さの温度である。科学者は、温度が同じポイントを結ぶ線を持つことを望んでいます。あなたが望むなら、私は科学者からのグラフの例を載せることができます。 – DaDuStMaN20

+0

あなたが描いているプロットのタイプを理解しています。しかし、アイソプレースを描くことは単にドットをつなぐことではありません。私の答えにリンクしている等高線(すなわち、アイソプレス)の生成とプロットを正しく行う*ための特別な目的関数があります。 –

関連する問題