gpt4 book ai didi

r - 将组除以 R 中每组中的样本数

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

我正在尝试使用 ggplot 制作一个图表,其中包含 6 个不同地点和 7 个不同时间的底物组成。问题是我在每个采样周期和站点都有不同数量的样本。我基本上想要代码y=freq/(那个时间段内的#of 个站)。以下是我的数据集示例

   Substrate     Time   Site Freq
1 Floc July 11 P1 4
2 Fine July 11 P1 2
3 Medium July 11 P1 12
4 Coarse July 11 P1 0
5 Bedrock July 11 P1 3
6 Floc Aug 11 P1 7
7 Fine Aug 11 P1 1
8 Medium Aug 11 P1 7
9 Coarse Aug 11 P1 1
10 Bedrock Aug 11 P1 4

所以我想要

      Var1       Var2 Var3 Freq
1 Floc July 11 P1 4/(21 - The number of samples taken in July).

关于如何编写此代码然后绘制结果的任何想法?

最佳答案

带有data.table(来自同名包)...

require(data.table)
DT <- data.table(dat)

DT[,Freq2:=Freq/sum(Freq),by=Var2]

给了

       Var1    Var2 Var3 Freq     Freq2
1: Floc July 11 P1 4 0.1904762
2: Fine July 11 P1 2 0.0952381
3: Medium July 11 P1 12 0.5714286
4: Coarse July 11 P1 0 0.0000000
5: Bedrock July 11 P1 3 0.1428571
6: Floc Aug 11 P1 7 0.3500000
7: Fine Aug 11 P1 1 0.0500000
8: Medium Aug 11 P1 7 0.3500000
9: Coarse Aug 11 P1 1 0.0500000
10: Bedrock Aug 11 P1 4 0.2000000

编辑:这个问题现在有了更好的列名,所以“for...period and site”的含义更清楚了。正如@DWin 在评论中所写,现在的答案是:

DT[,Freq2:=Freq/sum(Freq),by='Time,Site']

关于r - 将组除以 R 中每组中的样本数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18877601/

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