首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按ID聚合的行中的数据,结果在r中转置

按ID聚合的行中的数据,结果在r中转置
EN

Stack Overflow用户
提问于 2018-01-17 08:34:35
回答 1查看 28关注 0票数 1

我有针对每个参数排列成行的环境数据,我希望每个采样事件都有一行,以便对其进行分析。

它看起来像(实际上有大约20个参数类型和将近一百万行)

代码语言:javascript
复制
ID  Location Parameter  Result
a1  x1       DO         7.3      
a1  x1       pH         8.1 
a1  x1       Salinity   32.7 
b2  x2       DO         7.6      
b2  x2       pH         8.3 
b2  x2       Salinity   31.2

我希望它看起来像

代码语言:javascript
复制
ID   Location  DO   pH    Salinity
a1   x1        7.3  8.1   32.7      
b2   x2        7.6  8.3   31.2

然而,在不同深度的每次现场访问中也测量了某些参数。我正在考虑如何从概念上处理数据的这一方面,但显然,如果不能很好地将其可视化,就很难理解什么是重要的分析。有连续的深度测量(例如,0.112,0.527,1.244,5.891代表它被收集到的深度)和一个我可以排序的深度代码(例如。表面、半米、米、底)。我认为只要接受代码就可以了,特别是因为底部深度实际上是它自己的行作为参数,而这是唯一真正应该改变很多的行。

我认为我的选择是: 1)接受一些数据不会在同一行中,并且(我相信)不能在ArcGIS中一起分析,这是我的最终目标程序,一旦清理了大部分数据(不同的参数类型仅在特定深度测量)。如果我这样做,我可能只是将底部的代码添加到唯一的ID,它目前是一个文本字符串的网站和日期。或者2)以某种方式对新列进行编码,可能是深度代码与参数名称相结合。因此,对于location a1采样事件xxxx,我将有一行可能包含salinityS、salinityM、salinityB、pHS、pHM、pHB和DO的结果。希望我能清楚地理解这一点,但建议是非常受欢迎的。

此外,每个参数都有一个时间戳。它们都在一个可以忽略的窗口内,所以我可能只保留每个采样ID的第一个窗口,例如盐度为11:37,pH为11:38,输出行仅显示采样ID为11:37。

任何建议都将非常感谢,因为我已经在寻找一种有效的方法来分析这个庞大的数据集,而这种数据集的组织方式与我喜欢的格式相去甚远。

EN

回答 1

Stack Overflow用户

发布于 2018-01-17 09:21:04

使用来自tidyrspread

代码语言:javascript
复制
library(tidyr)

spread(df, Parameter, Result)

返回:

代码语言:javascript
复制
  ID Location  DO  pH Salinity
1 a1       x1 7.3 8.1     32.7
2 b2       x2 7.6 8.3     31.2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48291982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档