2016-11-02 31 views
0

条件に一致する行の数を取得するにはどうすればよいですか?列1の値が列2の値に1を足した値より小さいですか?同じデータセット内の2つの列を比較するR

nrow(subset(dataset, column1 <= column2 + 1)) 

私は次の警告を取得、このコマンドを実行します。

警告メッセージ:Ops.factorで を(column2の、1):要因

のための '+' は意味がありません

そして実行時:

nrow(subset(dataset, column1 <= column2)) 

私は:

警告メッセージ:Ops.factorで (VG、(COLUMN2)):要因

+2

'合計(データセットの$ COLUMN1 <=(データセットの$ COLUMN2 + 1))'あなたのための値の数を与える必要があります:列1

たぶん、このような何かが、仕事ができるため、同じ条件がTRUEの場合 – cderv

+0

...そしてデータセット[dataset $ column1 <=(dataset $ column2 + 1)、]はあなたに行を与えます。 –

+2

また、このスレッドを読んで、今後の質問にもっと詳しく説明してください:http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –

答えて

0

のための「< =」意味がありませんが、あなたが使用しているデータを共有していただけますか?

カラム2に数値がある場合は、カラムのクラスをfactorからnumericに変更してみてください。

sum(as.numeric(as.character(dataset$column1)) <= (as.numeric(as.character(dataset$column2)) + 1)) 
関連する問題