2017-08-23 16 views
0

これは私のデータの小さなサンプルである:一番上の行は、異なる樹種(例えば、PJ =ジャックパイン)を示すコードを含むRデータフレームの値に基づいてフィルタリング

data table

。数値は、調査プロット内の各種のカウントを表します。それぞれの事例は、森林管理者(B)によって一度評価され、規制当局(A)によるプロットベースの調査で監査されたスタンドを表す。私は2つのサンプルが同じ母集団から取られた確率を決定するためにRのchisq.testを使用したいが、ソースAの結果とソースBの結果を本質的に比較する。それぞれの場合について、0の値をNA AとBの両方のソースには0があります。それ以外の場合は、テストの自由度を不必要に膨らませてしまいます。私はRに非常に新しいです。

多くのケースでカイ2乗検定を行いたい、そしてデータセット全体に15種までが含まれています。ほとんどの場合、対処すべき2〜7種がある。あなたの助け

+2

これらの操作の2つの方法: '?reshape'を使用してワイドデータセットに変換し、' PJ.A'と 'PJ.B'を比較してください。あるいは 'source == 'A'と 'B'に' subset'をそれぞれ使用して、論理:PJ0aとPJ0bを作成し、マージキー 'case'の元のデータセットに2対1マージします。 – AdamO

+0

あなたのデータの絵を使うのではなく、 'dput()'や 'dput(head())'を使ってください。 – Aramis7d

+0

ok、私は将来それをやろうとします –

答えて

0

ため

おかげで、あなたはtidyverse関数を使用してのような何か試すことができます:これは何をしているか

df %>% 
group_by(Case) %>% 
mutate(PJ = if_else(sum(PJ) == 0, NA, PJ)) 

を、尺度は両方Sourceため0いる場合、合計は0で、このグループの値をNAに置き換えます。これにより、データをワイドフォーマットに変換する必要がなくなります。

また、mutate_atmutate複数の列を同時に参照してください。

+0

そのコードはエラーをスローします。 mutate_impl(.data、dots)のエラー: 評価エラー: 'false'は長さ1(' length'の長さ)でなければなりません。2. –

+0

はデータなしではデバッグできません。再現可能な例を提供するために質問を編集してください。 – Aramis7d

関連する問題