【发布时间】:2018-03-19 11:01:49
【问题描述】:
当我执行以下代码时:
merged <- interrogations %>%
filter(person=='accused') %>%
count(caseId)
我得到一个错误:
#Error in count(., caseId) : object 'caseId' not found
但是,当我用interrogations$caseId 查找时,变量interrogations$caseId 确实 确实存在。我做错了什么?
变量名是德文的,但我希望这会有所帮助(interrogations=einvernahmen):
structure(list(id = 1:6, person = c("Beschuldigter", "Auskunftsperson",
"Beschuldigter", "Auskunftsperson", "Beschuldigter", "Beschuldigter"
), behoerde = c("Pol", "Pol", "Pol", "Pol", "Pol", "Pol"), datum = c("10.05.2013",
"29.04.2013", "10.05.2013", "06.04.2013", "15.05.2013", "10.05.2013"
), anwBesch = c("ja", "nein", "ja", "nein", "ja", "ja"), anwVert = c("ja",
"nein", "ja", "nein", "ja", "ja"), verhalten = structure(c(2L,
NA, 5L, 1L, 4L, 5L), .Label = c("", "Bestreiten", "Geständnis",
"Schweigen", "Teilgeständnis"), class = "factor"), caseId = c(7L,
7L, 7L, 7L, 7L, 7L), user = c(14L, 14L, 14L, 14L, 14L, 14L),
dokuAussage = c("2", "", "2", "1", "2", "2"), dokuAussageAnd = c("",
"", "", "", "", ""), uebersetzer = c("", "", "", "", "",
""), offenEinv = c("", "", "", "", "", "")), .Names = c("id",
"person", "behoerde", "datum", "anwBesch", "anwVert", "verhalten",
"caseId", "user", "dokuAussage", "dokuAussageAnd", "uebersetzer",
"offenEinv"), row.names = c(NA, -6L), class = c("tbl_df", "tbl",
"data.frame"))
【问题讨论】:
-
请通过
dput(head(interrogations))提供您的一些数据,以使您的问题可重现。 -
我没有收到错误,您运行的是哪个版本的 R 和 dplyr?
-
这里也没有错误。但是
filter(...)返回一个空的tibble。 -
试试
dplyr::count(caseId)。很可能是与plyr的包冲突。 -
interrogations %>% filter(person=='Auskunftsperson') %>% count(caseId)。在提供的数据中,您的person变量中没有accused。table(interrogations$person)提供Auskunftsperson和Beschuldigter。
标签: r count dplyr plyr tidyverse