首页 > 解决方案 > dplyr。光谱(反射率)数据框。基于单个属性平均所有光谱值。R

问题描述

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

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

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

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

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

谢谢

标签: rdataframedplyraverage

解决方案


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

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

推荐阅读