如何在R中将一个df中的行与另一个df中的列进行匹配

时间:2019-02-26 01:02:58

标签: r

基本上,我有2个表或数据框(我认为这是术语..?),其中一个在行中具有标识符,另一个在列中具有标识符。像下面一样

df 1

Id     Location
34    Hunter Region
35    Hunter Region
36    Western Region
37    Western Region
38    Western Region
...

df 2

Date        34   35   36   37   38
15/01/18   1.5  2.4  1.4  1.6  2.2
16/01/18   1.5  2.4  1.4  1.6  2.2
17/01/18   1.5  2.4  1.4  1.6  2.2
...

我想做的是将df2分成基于该区域的新表(例如,一个用于Hunter Region,一个用于Western Region)

1 个答案:

答案 0 :(得分:0)

要将数据框df2分为Hunter和Western Region列,您可以执行以下操作:

创建两个选择器:

sel_hunter = as.character(df1$Id[df1$Location=="Hunter Region"])
sel_western = as.character(df1$Id[df1$Location=="Western Region"])

将“日期”列添加到这些选择器:

sel_hunter = c("Date", sel_hunter)
sel_western = c("Date", sel_western)

,然后继续将df2分为两个数据帧:

df2_hunter = df2[ , sel_hunter]

      Date  34  35
1 15/01/18 1.5 2.4
2 16/01/18 1.5 2.4
3 17/01/18 1.5 2.4


df2_western = df2[ , sel_western]

      Date  36  37  38
1 15/01/18 1.4 1.6 2.2
2 16/01/18 1.4 1.6 2.2
3 17/01/18 1.4 1.6 2.2