在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
如何在包含列的矩阵中获取两个特定列名的计数结果:所有唯一饮料,行:所有唯一名称和单元格:freqs(如下所示)?
cocoa coffee tea water
Bill 2 2 0 0
Llib 0 0 2 2
P.S:显然,解决方案不需要使用plyr。
答案 0 :(得分:1)
您需要一个列联表,您可以使用table
:
table(bevs[, c("name", "drink")])
# drink
#name cocoa coffee tea water
# Bill 2 2 0 0
# Llib 0 0 2 2