在R中使用列表或多个数据帧的教程/信息



我经常使用R中的数据帧,其中不同的参数在每个人的不同时间点记录了多个测量值。到目前为止,我已经在同一个人的每行上重复了"常量"参数,如年龄和性别,但不知何故,一次又一次重复相同的信息似乎有点微不足道。

基本上,我希望能够从两个数据帧中获取和"合并"信息,例如,当拟合模型时,如:

glm(hormone_level ~ time_point + age + gender, random = ~ 1 | patient_id)

从数据帧1中获取hormone_leveltime_point,从数据帧2中获取agegender(见下文)。

我不确定我是否在寻找列表上的信息,或者最好使用函数将两个数据框架中的相关信息合并为第三个。你知道我可以在哪里找到更多关于这个主题的信息,最好是一些有用的例子吗?

数据帧1:

patient_id  time_point  hormone_level
001         1           55
001         2           85
001         3           105
002         1           48
...

数据帧2:

patient_id  age  gender
001         30   M
002         45   F
003         32   F
...

在您的示例中,数据帧1是实验数据,数据帧2是主题元数据。数据帧2实际上是一个主题列表,patient_id主键(在数据库术语中)。您需要使用此键查找数据帧2中的值,并将它们添加到数据帧1中,或者更恰当地说,执行"连接"。有许多方法可以做到这一点,但我推荐使用dplyr中的join函数。例如

library(dplyr)
left_join(df1, df2, by="patient_id")

将在数据帧1中添加年龄和性别。然后,您可以对新的df进行分析。

这里有一个很好的博客条目:https://blog.exploratory.io/joining-two-data-sets-to-supplement-or-filter-172bbb6804e3#.v8mqhlsdl

最新更新