r 中对引用列求和的表函数?

问题描述 投票:0回答:1

我有一个类似于下面的示例数据框的数据框:

example = data.frame(
  freq = c(22,1,12,4,8,76,55,43,1,34),
  x=c("FALSE","FALSE","TRUE","FALSE","TRUE","TRUE","TRUE","FALSE","FALSE","TRUE"),
  y=c("FALSE","FALSE","TRUE","FALSE","FALSE","TRUE","TRUE","TRUE","TRUE","TRUE")
)

如果我对最后两列执行普通的 table() 函数,则会根据行频率得到以下结果:

> table(example$x,example$y)
       
        FALSE TRUE
  FALSE     3    2
  TRUE      1    4

然而,我想要的是一个将各自行的 example$freq 列中的值加在一起的函数,理想情况下会产生如下所示的结果:


        FALSE TRUE
  FALSE    27   44 
  TRUE      8  177

这对于现有函数是否可能(理想情况下也能够返回除 [2,2] 之外的维度表)?如果每个实例都有一行,这当然不会成为问题。 27 行 FALSE FALSE 对等,但这不是我的数据当前的格式。如果现有函数无法实现,对于创建所需函数有什么建议吗?

r count
1个回答
0
投票

其中任何一个都可以:

xtabs(freq ~ x + y, example)

xtabs(freq ~ ., example)

xtabs(example)

tapply(example[[1]], example[-1], sum)
© www.soinside.com 2019 - 2024. All rights reserved.