2016-08-05 9 views
0

長い時間のlurker、初めてのポスター。UseMethod( "select_")のエラー

私は入門Rコースに入っており、糖尿病「diabage2」とそのインスリン使用「インスリン」(Yes/No/NA)の診断年齢のヒストグラムと要約を作成しようとしています。データセットはbrfss2013です。

私の最初の試みは、(私はこの問題を持っていたサンプルの選択された部分ではなく、私はMEANおよびnはサンプルのために報告されていることを知っている以外意味、正常に見える​​

insulin  MEAN  n 
    <chr> <dbl> <int> 
1  Yes 51.48694 491775 

だったとn私のプロジェクトの別の部分では、なぜそれが動作していないのか分かりません。答えが間違っていることを確認できます。)

私はサブセット()を使用して、ヒストグラムを作成する(すなわち、インスリン=はい、インスリン= 1のデータの1グループ)

wInsulin <- subset(brfss2013, insulin = "Yes", select = c(diabage2)) 
woInsulin <- subset(brfss2013, insulin = "No", select = c(diabage2)) 

これらは互いに排他的であるため、同じ観測値を含むべきではありませんが、これらは同じように見えます。私は()私は3に330個の変数から使用しているセットを選択ダウントリムするために使用しようとしたとき、私は別の問題が発生した

InsulinData <- select(brfss2013$insulin, brfss2013$diabage, brfss2013$sex, brfss2013$X_state) 

は私にエラーを与えた

Error in UseMethod("select_") : 
    no applicable method for 'select_' applied to an object of class "factor" 

私は何を作るのか分かりません。

私は何か非常に基本的なものを見逃しているように感じますが、私の経験の欠如は、私が他の人の問題に対する多くの解決策を理解する基礎を持っていないことを意味し、これまでのところ、 Rを扱った実際の詳細。私が得ることのできるガイダンスは本当にありがたいです。

+0

'brfss2013'をdplyrパッケージに付属していないので、これを明示的に再現可能にしたいと思うかもしれません。通常、 'library(whatever)'のように、データセットを取得またはロードするコードを記述します。 – Frank

+0

ここでは '=='の代わりに 'insulin =" Yes "'のようないくつかの間違いがあります。 dplyrチェーンの中で '$ 'を持つ列を参照します。 dplyrイディオムが 'filter'(または何か類似の単語)であるときに' subset'を使います。私は上からRイントロの文書をブラウズしてそこにいくつかの例を紹介することをお勧めします:https://cran.r-project.org/doc/manuals/r-release/R-intro.html – Frank

答えて

1

あなたは、ほぼこれを持っていた:

InsulinData <- select(brfss2013$insulin, 
         brfss2013$diabage, 
         brfss2013$sex, 
         brfss2013$X_state) 

は次のようになります。

InsulinData <- select(brfss2013, insulin, diabage, sex, X_state) 

dplyrを使用すると、一度だけdata.frameを指定する必要があります。 selectは、変数brfss2013$insulinから列を選択しようとしていると考えていました。

また、intstructionsのあなたの最初のセットは少し混乱している:

group_by(insulin = "yes") 

あなたgroup_by(insulin)、あなたはfilter(insulin == "yes")

で行をフィルタおそらくもっと何かしたい:

brfss2013 %>% 
    group_by(insulin) %>% 
    summarise(MEAN = mean(diabage2, na.rm = TRUE), n = n()) 
関連する問題