2017-08-25 5 views
-1

Rstudioでインポートした巨大な調査用CSVファイルがある。ここで私はuser1の合計を計算したいサンプルデータ私は列の合計を計算したいが、他の列で分類するR

User 1 User 2 Duration 
5  2  7-11 months 
5  5  Less than 1 month 
5  5  4-6 months 
5  5  4-6 months 
5  4  4-6 months 
5  5  2 years 
4  6  1 year 
4  4  4-6 months 
4  8  7-11 months 
4  4  2 years 
3  3  Less than 1 month 
3  3  7-11 months 
3  3  1-3 months 

は、期間によるフィルタリング、4-6 monthsを言っています。

df %>% group_by(Duration) %>% summarise(count=n_distinct(User1)) %>% 
    +  filter(Duration=="4-6 months") 

をしかし、その適切な値を返さない:

今まで私が使用しています。私に解決策を提案してください。

+1

あなたがUSER1のスメをしたい場合は、代わりに '' n_distinct(ユーザー1)の ''合計(ユーザー1)を使用します。 'n_distinct'は値の合計ではなく、異なる値の数を与えます。 – Gregor

+3

また、RStudioタグをコードエディタRStudioの問題のために保存してください(たとえば、コードが端末またはRGuiでは正常に実行されたが、RStudioでは機能しなかった場合など)。 – Gregor

+1

正しい名前を使用するように注意してください。あなたのデータが印刷される方法は、列名が 'User 1'のように見えます。あなたの段落では、あなたは 'user1'を使い、コードブロックでは' User1'を使います。これらはすべて異なっています。彼らはすべて同じでなければなりません。大文字の問題スペースは重要です(列名にスペースが入ると複雑になりますが、避ける方が簡単です)。 – Gregor

答えて

1

あなたの列名が正しくない可能性があります:

df %>% 
group_by(Duration) %>% 
summarise(sum_user1 = sum(`User 1`, na.rm = TRUE)) %>% 
filter(Duration=="4-6 months") 
+0

正しい列名を反映するために編集し、ungroup()を削除しました - ありがとう。 –

+0

さて、もう一度編集されました。ありがとう。 –

関連する問題