0

我有两个不同的数据框,它们没有任何共同的列来连接它们。有没有办法从没有任何公共列的两个不同数据帧创建一个新数据帧?数据框之一包含天值。

第一个数据框的示例:

 day
 2000-01-01 00:00:00
 2000-01-01 00:01:00
 2000-01-01 00:02:00

第二个数据框的示例:

 price
  1
  2
  3

新数据框的结果:

     day              price
 2000-01-01 00:00:00    1
 2000-01-01 00:01:00    2
 2000-01-01 00:02:00    3
4

3 回答 3

2

怎么样data.frame?- :

 data.frame(day,price)

这是一个例子。两个输入数据帧:

> a
    x y
1   1 a
2   2 b
3   3 c
4   4 d
5   5 e
6   6 f
7   7 g
8   8 h
9   9 i
10 10 j
> b
    v     w
1  14 FALSE
2   5  TRUE
3   8  TRUE
4   4  TRUE
5  17 FALSE
6   5  TRUE
7  15 FALSE
8  11 FALSE
9  15 FALSE
10  9  TRUE

这是如何data.frame工作的:

> data.frame(a,b)
    x y  v     w
1   1 a 14 FALSE
2   2 b  5  TRUE
3   3 c  8  TRUE
4   4 d  4  TRUE
5   5 e 17 FALSE
6   6 f  5  TRUE
7   7 g 15 FALSE
8   8 h 11 FALSE
9   9 i 15 FALSE
10 10 j  9  TRUE

整洁的。

于 2013-06-07T11:08:14.800 回答
1

怎么样cbind

dd1 = data.frame(x1 = runif(10), y1=runif(10))
dd2 = data.frame(x2 = runif(10), y2=runif(10))

所以

dd = cbind(dd1, dd2)
于 2013-06-07T10:24:04.827 回答
0

这是data.table方法,可能对较大data.frame的 s 有用:

library(data.table)
### if converting from data.frame:
df1 <- data.frame(a=c(1,2,3))
dt1 <- data.table(df1)
### or more simply:
dt1 <- data.table(a=c(1,2,3))
dt2 <- data.table(b=c(4,5,6))
dt3 <- data.table(dt1,dt2)
dt3

给出:

   a b
1: 1 4
2: 2 5
3: 3 6
于 2013-06-07T23:35:31.330 回答