我确信这很容易,但我在搜索功能中找不到任何东西。
我的问题是: 我有3个不同的数据帧,并希望从每个数据帧中选择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中取出第2行,df2中的第1行和df3中的第1行。应在新数据框中添加所有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,)]
但这仅适用于同一数据帧。如何使用多个数据帧?
答案 0 :(得分:4)
您可以通过从所有数据框中选择所需的行,然后使用以下命令将它们绑定在一起来完成:
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