Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何生成R计数矩阵_R_Matrix_Count_Plyr - Fatal编程技术网

如何生成R计数矩阵

如何生成R计数矩阵,r,matrix,count,plyr,R,Matrix,Count,Plyr,在R中,我可以使用我感兴趣的特定列名作为数组返回计数结果,如下所示 require("plyr") bevs <- data.frame(cbind(name = c("Bill", "Llib"), drink = c("coffee", "tea", "cocoa", "water"), cost = seq(1:8))) count(bevs, c("name", "drink")) # produces name drink freq 1 Bill cocoa 2

在R中,我可以使用我感兴趣的特定列名作为数组返回计数结果,如下所示

require("plyr")
bevs <- data.frame(cbind(name = c("Bill", "Llib"), drink = c("coffee", "tea", "cocoa", "water"), cost = seq(1:8)))
count(bevs, c("name", "drink"))

# produces
  name  drink freq
1 Bill  cocoa    2
2 Bill coffee    2
3 Llib    tea    2
4 Llib  water    2

注:显然,解决方案不需要使用plyr。

您需要一个列联表,您可以使用以下表格创建该列联表:


谢谢你,罗兰。我编辑了我的问题:我实际上希望能够具体命名我想要使用的列,而不是BEV[,-3],因为我的data.frame实际上由许多列组成。我怎样才能做到这一点?我已经编辑了答案以适应这一要求。然而,你可能会从阅读R的一些介绍中受益,以便更好地理解子集。是的,我意识到我要求的修改确实非常简单。非常感谢。
     cocoa  coffee tea water
Bill   2      2     0   0
Llib   0      0     2   2
table(bevs[, c("name", "drink")])
#      drink
#name   cocoa coffee tea water
#  Bill     2      2   0     0
#  Llib     0      0   2     2