dplyr。光谱(反射率)数据框。平均所有光谱值基于一个属性。 R

时间:2018-09-03 14:04:32

标签: r dataframe dplyr average

我有一个数据帧,该数据帧由5个属性(例如,图,权重,日期等)加上2000个光谱值(不同的波长)组成。因此,大约有2005列。

对于这些列,有120个测量值(24个对象*测量5次)。我希望根据属性(即图)对反射率(波长)值(2000列)取平均值。

我正在考虑使用dplyr软件包和管道:

DF &>%
   group_by(Plot) %>%
   aggregate(... *I am stuck here*

最终目标是拥有一个包含2005列,24行的数据帧(每行包括原始元数据+每个波长的平均值*,基于图号)。

谢谢

1 个答案:

答案 0 :(得分:0)

对于类似的任务,我通常使用dplyr的summarize_all函数。 您需要删除所有无法平均的列(例如,如果您的复制具有不同的日期),group_by其余的元数据。 像这样:

DF %>%
  select(-Date) %>% # remove those metadata columns that cannot be averaged
  group_by(Plot) %>%
  summarize_all(mean)