【发布时间】:2019-03-07 11:26:22
【问题描述】:
我有一个数据集df,其中的列由各种化学品组成,行由由id 标识的样本和每种化学品的浓度组成。
我需要使用在另一个数据集df2 中找到的每种化学品的唯一值来更正化学品浓度。
这是一个最小的df1 数据集:
df1 <- read.table(text="id,chem1,chem2,chem3,chemA,chemB
1,0.5,1,5,4,3
2,1.5,0.5,2,3,4
3,1,1,2.5,7,1
4,2,5,3,1,7
5,3,4,2.3,0.7,2.3",
header = TRUE,
sep=",")
这是一个df2 示例:
df2 <- read.table(text="chem,value
chem1,1.7
chem2,2.3
chem3,4.1
chemA,5.2
chemB,2.7",
header = TRUE,
sep = ",")
我需要做的是将df1 中chem1 的所有观察值除以df2 中chem1 提供的值,对每种化学物质重复。实际上,化学名称是不连续的,大约有 30 种化学物质。
以前我会使用 Excel 和索引/匹配来完成此操作,但我希望使我的方法更具可重复性,因此与 R 进行斗争。我主要使用 dplyr 进行数据操作,所以如果有一个 tidyverse 解决方案那里,那太好了!
感谢您的帮助
【问题讨论】: