R - 如何从多个数据框中提取某些行的子集

R - How to subset certain rows out of multiple data frames

我相信这很容易做到,但我在搜索功能中没有找到任何东西。

我的问题是: 我有 3 个不同的数据帧,想 select 每个数据帧中的 1 个特殊行,并将这些行放在一个新的数据帧中。我怎么做?

这是一个例子:

>df1
  Station     Date    Value
1 Station 1 20000608   5.0
2 Station 1 20000609  17.5
3 Station 2 20000610  30.0

>df2
  Station     Date    Value
1 Station 7 20010608     7
2 Station 5 20020609    14
3 Station 1 20060610    21

> df3
  Station     Date    Value
1 Station 5 20050608     2
2 Station 3 20020609     5
3 Station 2 20010610     8

###################
#Code
x1= c("Station 1", "Station 1", "Station 2")
x2= c("20000608", "20000609", "20000610")
x3= seq(5, 30, length=3)

df1 = data.frame(Station=x1, Date=x2, Value=x3) 

x1= c("Station 7", "Station 5", "Station 1")
x2= c("20010608", "20020609", "20060610")
x3= seq(7, 21, length=3)

df2 = data.frame(Station=x1, Date=x2, Value=x3) 

x1= c("Station 5", "Station 3", "Station 2")
x2= c("20050608", "20020609", "20010610")
x3= seq(2, 8, length=3)

df3 = data.frame(Station=x1, Date=x2, Value=x3) 

我想提取 df1 中的第二行、df2 中的第一行和 df3 中的第一行。所有 3 行都应添加到新数据框中。最后应该是这样的:

>dfnew
  Station     Date    Value
2 Station 1 20000609  17.5
1 Station 7 20010608     7
1 Station 5 20050608     2

我当然知道

df1[2,], df2[1,], df3[1,] #or
df[ c(2,), (1,), (1,)]

但这只适用于相同的数据帧。我该如何处理多个数据帧?

您可以通过从所有数据框中选择您想要的行然后使用以下方法将它们绑定在一起来实现:

dfnew <- rbind(df1[2, ], df2[1, ], df3[1, ])

它会给你想要的输出:

   Station   Date      Value
2  Station 1 20000609  17.5
1  Station 7 20010608   7.0
11 Station 5 20050608   2.0