gpt4 book ai didi

r - 折叠矩阵以将一列中的值与另一列中的值相加

转载 作者:行者123 更新时间:2023-12-01 09:33:59 24 4
gpt4 key购买 nike

我有一个包含三列的矩阵:县、日期和就诊次数。每个县的日期重复,如下所示(仅作为示例):

  County A  1/1/2012  2
County A 1/2/2012 0
County A 1/3/2012 5
... etc.
County B 1/1/2012 3
County B 1/2/2012 4
... etc.

我想折叠此矩阵以汇总每个日期所有县的访问量。所以它看起来像这样:

1/1/2012  5
1/2/2012 4
etc.

我正在尝试在 R 中使用 "table()" 函数,但似乎无法让它以这种方式按日期对访问进行操作。当我执行 "table(dt$date, dt$Visits)" 时,它会给我一个这样的频率表:

             0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2011-01-01 3 1 2 0 1 1 0 2 0 0 0 0 0 0 0 0
2011-01-02 2 3 1 0 0 1 0 0 1 0 2 0 0 0 0 0
2011-01-03 3 1 1 2 1 0 0 0 0 1 0 0 0 0 1 0

有什么建议吗?有没有更好的函数可以使用,也许是某种“总和”?

谢谢!

最佳答案

table() 不是用于求和,而是用于记录计数。如果你想使用 tapply 你会得到一个表格输出并且可以应用 sum 函数。或者您可以使用 ave 来获得与数据帧等长的总和向量。也许:

  with( EDcounts, tapply(EDcounts[[3]], EDcounts[[2]], sum, na.rm=TRUE) )

如果您将“访问”列名称放在公式的 LHS 上,您也许可以将 xtabs 引入访问计数的总和。

关于r - 折叠矩阵以将一列中的值与另一列中的值相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11769190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com