根据乘数复制行

时间:2019-02-22 20:34:53

标签: r tidyr

使用R并在处理我的数据时遇到一些麻烦。我已经根据类型和它们的相对体积(下面的“ adjusted_volume”)(幻灯片上的花粉量)确定了蜜蜂采集的花粉。我现在正在尝试计算我的14个站点中每个站点的蜜蜂平均花粉使用量。我的数据如下:

  

头(花粉)

          site    treatment hive_code     pollen_type adjusted_volume
             A conventional         4       alnus_spp           248.5
             B conventional         4       alnus_spp            71.0
             B conventional         7       alnus_spp            35.5

我的计划是撒并收集每个站点的每种花粉类型的数量...

  

data1 <-广播(花粉,部位+处理〜花粉类型,长度)

     

data2 <-收集(data1,pollen_type,count,alnus_spp:vaccinium_corymbosum,factor_key = TRUE,na.rm = TRUE)

但这并不能说明每个条目的音量差异。我可能在想这是错误的方法,但是有没有一种方法可以将每行乘以dcast函数中的Adjusted_volume数字?那么第一行将在站点A上计为248.5 alnus_spp,而不是仅1条记录吗?

谢谢您的帮助!很抱歉,如果我要以一种荒谬的方式来解决这个问题!

编辑:

这有效!谢谢大家!

  

x <-ddply(花粉,。(部位,花粉类型,处理方式,蜂巢代码),摘要,tot_pollen = sum(adjusted_volume))

> head(x)
>    site                     pollen_type    treatment    hive_code tot_pollen
>       A                          alnus_spp conventional         1      497.0
>       A                          alnus_spp conventional         5      142.0
>       A                    graminaceae_spp conventional         1       29.0

1 个答案:

答案 0 :(得分:0)

我认为类似这样的东西可能会满足您的需求:

ddply(花粉,。(部位,处理方法,花粉类型),摘要,tot_pollen =和(已调整体积)

这应该按部位,处理方式和花粉类型总结花粉量。

祝你好运!