2013-06-07 4 views
0

У меня есть два разных кадра данных, и у них нет общего столбца для их соединения. Есть ли способ создать новый фрейм данных из двух разных фреймов без общего столбца? Один из файлов данных содержит значения дней.Подключите два разных кадра данных к одному

Пример первого dataframe:

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 
+0

Я понятия не имею, что значит дней значения. См. Http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – csgillespie

+0

@csgillespie Я сделал обновление с примером формата данных –

+0

Почему нет данных двух столбцы работают? – csgillespie

ответ

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 

Ухоженные.

1

Что о cbind?

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

Так

dd = cbind(dd1, dd2) 
+0

Где вы упомянули об этом в своем вопросе? – csgillespie

0

Вот data.table подход, который может быть полезен для больших data.frame с:

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