Rを使用してデータフレームに新しい列を生成するためのコードを単純化しようとしています。私のデータはこのようなもの(1-4列目)で構成されています。Rを使用して列を追加するR
col1__col2__col3__col4______
t1 f1 A 20 0
t1 f2 A 19 0
t1 f3 A 21 0
t1 f1 B 25 5
t1 f2 B 25 6
t1 f3 B 26 5
t2 f1 A 18 0
t2 f2 A 19 0
t2 f3 A 18 0
t2 f1 B 20 2
t2 f2 B 20 1
t2 f3 B 20 2
EDIT:列5は次のようになります(等式)。これは、col1からt1、f1の値をとり、t1、f1からcol3 = "A"を減算します。したがって、行1では20になり、それと同じ20が減算されます。行4の場合、行t1からのサンプルf1を参照するため、行1の20を減算します。 2つの異なるもの(AとB)の値。だから、上記のように見つかった列5はthusly計算されます。
col5
(20-20)
(19-19)
(21-21)
(25-20)
(25-19)
(26-21)
etc...
は、列がいいと簡単です追加が、私はこれらすべての条件に構築するための良い方法を見つけるの問題を抱えています。誰かがこれをコード化する方法や、データを整理してより簡単にする方法について提案があれば、とても感謝しています。これまでのところ私は手動でMS Excelの列5の値を生成してきた:回答:
乾杯
EDIT2 \。返事をしたすべての人におかげでありがとう!
これは実際には複雑です。 col3 == "A" "col3 ==" A "には6つの値があります。あなたはこれらの6つの平均を指していますか?この線で正確に何を意味しているのですか? – Marsenau
ごめんなさい。ちょっと混乱している場合は、質問を書き直してみます。フィードバックをお寄せいただきありがとうございます。 私は、治療t1内のf1 Bからf1 Aを差し引いた値に興味があると言っています。出力列の式は、処理t1内でf1A-f1 Aを取る可能性もありますが、これはちょうどゼロになります。私は技術的にはこの値は必要ありませんが、それがあればうまくいきます。そして、おそらくコードが適切に機能していることを確認するための良い検証ステップです。 – Crawdaunt