抱歉,我知道已经有很多“计数”问题 - 我正在尝试返回数据帧中唯一行的出现频率。我发现很多解决方案建议在 plyr 包中进行“计数”,但我找不到任何出现此错误的内容。我试图重现另一个问题中给出的示例:
> df = data.frame(x1=c(0,1,1,1,2,3,3,3),
x2=c(0,1,1,3,2,3,3,2),
x3=c(0,1,1,1,2,3,3,2))
> count(df, vars = c("x1", "x2", "x3"))
但这会返回以下错误:
Error: wrong result size (3), expected 8 or 1
我用自己的数据得到了同样的结果。我还尝试了一个不同的例子:
> bevs <- data.frame(cbind(name = c("Bill", "Llib"), drink = c("coffee", "tea", "cocoa", "water"), cost = seq(1:8)))
> bevs$cost <- as.integer(bevs$cost)
> bevs
name drink cost
1 Bill coffee 1
2 Llib tea 2
3 Bill cocoa 3
4 Llib water 4
5 Bill coffee 5
6 Llib tea 6
7 Bill cocoa 7
8 Llib water 8
> count(bevs, "name")
这仅返回行数,而不是每个名称的唯一行数。
Source: local data frame [1 x 2]
"name" n
(chr) (int)
1 name 8
我正在准确复制示例代码,所以我不确定发生了什么......任何帮助将不胜感激!
谢谢
最佳答案
我认为您在 plyr
( more there ) 之后加载了 dplyr
。尝试以下操作: plyr::count(df, vars = c("x1", "x2", "x3"))
和 plyr::count(bevs, "name")
.
关于r - plyr 中的计数不起作用,返回 "wrong result size (3), expected 8 or 1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36312799/