4列120行からなる.cvsファイルがあります。 私はすべての行を通過しようとしています.3番目の列(ここでは "ダム")に "1"が表示されているところで、その行を "Dam.one"という行列に保存します。ループの出力をベクトルに保存するR
ここは、これまでの私のコードです:
DamType = c("Dam.one", "Dam.two", "Dam.three", "NoDam.one", "NoDam.two", "NoDam.three")
for (i in 1:120) {
if (mercury.raw[i,]["Dam"] == 1) {
if (mercury.raw[i,]["Type"] == 1){
DamType["Dam.one"] <- mercury.raw[i,]
}}}
これは、データセットの最初の6つのエントリです: `
> mercury.raw
Lake Mercury Dam Type
1 ALLEN.P 1.080 1 1
2 ALLIGATOR.P 0.025 1 1
3 A.SAGUNTICOOK.L 0.570 0 2
4 BALCH&STUMP.PONDS 0.770 0 2
5 BASKAHEGAN.L 0.790 1 2
6 BAUNEAG.BEG.L 0.750 0 2
私はDamType["Dam.one"]
はと等しくなるようにしたい:
Lake Mercury Dam Type
1 ALLEN.P 1.080 1 1
2 ALLIGATOR.P 0.025 1 1
私は何が間違っているのか分かりません。 何か助けていただければ幸いです。
私にも分かりません。あなたが得るエラーを説明できますか?おそらく 'mercury.raw'が何であるかを見せてくれるでしょうか? [mcve]を参照してください。 – dash2
@manotheshark何ですか?彼は 'Dam.one'という変数を持っておらず、' 'Dam == 1''は常に' FALSE'に評価されます。 – dash2
@ dash2私は 'mercury.raw'の代わりに' DamType'を間違って入力しました。彼の質問から、彼は3番目のコラム(「ダム」)が「1」を見るごとに探しています。私は彼が1つを持っていない時代があると仮定しているだけで、実際に彼のデータをサブセット化したいと思っています。 – manotheshark