如何生成R计数矩阵
在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
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