これは私の質問を説明するために作成した単純化されたデータセットです。(R)複数の他の列を計算するためにif()文を使用してデータフレームの列を参照しようとしています
こんにちはすべて、私は、データフレームDatabase
で列を参照しようとしています。私の目標は、例えばWeight
列を参照できるようにすることであり、その列にはRisk
とOverweight
の列が設定されます。ここで私は(他の失敗したコードと一緒に)しようとしているものです:
ifelse(Database[,"Weight"] >190, Database$Risk="HIGH", Database$Risk="LOW")
Error: unexpected '=' in "ifelse(Database[,"Weight"] >190, Database$Risk="
私もif()
コマンドを使用してコードのグループをやって試してみました。
if(Database$Weight > 190) {Database$Risk="HIGH"; Database$Overweight="YES"}
Error in if (Database$Weight > 190) { :
missing value where TRUE/FALSE needed
In addition: Warning messages:
1: In Ops.factor(Database$Weight, 190) : ‘>’ not meaningful for factors
2: In if (Database$Weight > 190) { :
the condition has length > 1 and only the first element will be used
...明らかに正しくはありません。このコードの理想的な出力はこのようになり
:
'Database $ Risk = ifelse(データベース$ Weight> 190、" HIGH "、" LOW ")' – HubertL
これは機能しました! ...しかし、私はフォローアップエラーに遭遇しました: Ops.factor(Database $ Weight、190)で: '>'は意味がありませんファクタ だから私は 'データベース$重量< - as.numeric $ Weight) 'はこれを修正しますが、すべての重み値を' c(1,2,3) 'にしました。 元の重量値を取得して数値の列にするにはどうすればよいですか? – user5827247
データの画像を投稿しないでください。 'dput(my_data)'の結果を貼り付けます。 [Info。](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example#5963610) – alistaire