2016-07-22 13 views
3

私はRの新しい人物として、なぜ私が書いたコードをうまく動作させ、同じコード行でエラーが発生するのか不思議です。次回はそれが実行されます。dplyr group_by関数でエラーが発生しました、オブジェクトが見つかりません

ここでは、私が作業しているテーブルの例を示します。

Dput:

structure(list(a5species = structure(c(4L, 1L, 6L, 3L, 14L, 3L, 
8L, 8L, 8L, 8L, 8L, 8L, 3L, 4L, 4L, 8L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 8L, 8L, 8L, 8L, 8L, 8L, 4L, 8L, 8L, 8L, 3L, 8L, 8L, 8L, 
12L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
8L, 8L, 8L, 8L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 3L, 4L, 3L, 6L, 
3L, 4L, 4L, 3L, 3L, 6L, 6L, 3L, 3L, 3L, 3L, 3L, 3L, 6L, 3L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 8L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 1L, 4L, 3L, 3L, 3L, 4L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 3L, 
4L, 8L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 3L, 12L, 12L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 13L, 4L, 4L, 4L, 6L, 4L, 3L, 
12L, 14L, 6L, 3L, 3L, 4L, 4L, 10L, 4L, 3L, 3L, 3L, 3L, 10L, 4L, 
4L, 4L, 4L, 12L, 4L, 4L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 6L, 5L, 4L, 10L, 12L, 4L, 4L, 3L, 6L, 4L, 3L, 
4L), .Label = c("coustani", "demeilloni", "funestus", "gambiae", 
"garnhami", "indetermine", "marshallii", "pharoensis", "pretoriensis", 
"rufipes", "salbaii", "squamosus", "tenebrosus", "ziemani"), class = "factor"), 
    Vila = c("Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", "Motaze", 
    "Motaze", "Motaze", "Motaze", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Chicutso", "Chicutso", "Chicutso", 
    "Chicutso", "Chicutso", "Panjane", "Panjane", "Panjane", 
    "Panjane", "Panjane", "Panjane", "Panjane", "Panjane", "Panjane", 
    "Panjane", "Panjane", "Panjane", "Panjane", "Panjane", "Magude", 
    "Magude", "Magude", "Magude", "Magude", "Magude", "Magude", 
    "Magude", "Magude", "Magude", "Magude", "Magude", "Magude", 
    "Magude", NA, NA, "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", NA, NA, "Muginge", 
    "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", "Muginge", 
    "Muginge", "Muginge", "Muginge", "Mapulanguene", "Mapulanguene", 
    "Mapulanguene", "Mapulanguene", "Mapulanguene", "Mapulanguene", 
    "Mapulanguene", "Mapulanguene", "Mapulanguene", "Mapulanguene", 
    "Mapulanguene", "Mapulanguene")), class = c("tbl_df", "tbl", 
"data.frame"), row.names = c(NA, -321L), .Names = c("a5species", 
"Vila")) 

そして私はビラで種を整理するために、このコードを使用:

test %>% + group_by(Vila) %>% filter(a5species=="gambiae") %>% + summarise(n=n()) 

このコードを使用して私が欲しいテーブルが、私は実行しようとした次の時間を生産コードが正常に機能しなくなり、エラーが発生します。

Error in group_by_(.data, .dots = lazyeval::lazy_dots(...), add = add) : 
    object 'Vila' not found 

私はこれが投稿された質問に似ていることを認識していますここでは: R object not found if defined within a function when using data.table dplyr

しかし、私はdplyr_0.4.3を使用していますが、この問題は、発生していた問題が今修正されており、私のコードが一点で機能していたことを示唆しています。さらに、この記事の議論はかなり技術的なものであり、私の頭を越えています。

私のコードが突然動作を停止した理由は何ですか?

ありがとうございます。

答えて

1

これは、+記号付きのRコンソールからコードをコピーしているときに発生しました。 +は、コードが完全ではないことを示します。 +記号を手動で削除するか、適切なエディタでコードをコピーして貼り付けて削除することができます。

test %>% 
    group_by(Vila) %>% 
    filter(a5species=="gambiae") %>% 
    summarise(n=n()) 

OPのコード私が見

test %>% + group_by(Vila) %>% filter(a5species=="gambiae") %>% + summarise(n=n()) 
     ^^              ^^ 

Error in group_by_(.data, .dots = lazyeval::lazy_dots(...), add = add) : object 'Vila' not found

+0

ああ。私はこれがとてもシンプルであることを少し恥ずかしいと感じています。私はそのプラスサインに疑問を抱き、それをある時点で削除しようとしましたが、もう一度間違いを犯したに違いありません。 ありがとうございます! –

+1

私ができるときには10分で答えがつきます –

関連する問題