аналогично excel vlookup

Привет
у меня есть набор данных о концентрации пыли за 10 лет, разрешение 5 минут
и у меня есть отдельный набор данных за 15 лет с разрешением дня синоптической классификации, как я могу объединить эти два набора данных, они не совпадают длина или разрешение
вот образец данных

> head(synoptic)
        date synoptic
1 01/01/1995        8    
2 02/01/1995        7    
3 03/01/1995        7    
4 04/01/1995       20    
5 05/01/1995        1   
6 06/01/1995        1       
>    
head(beit.shemesh)
  X........................ StWd  SHT PRE  GSR RH Temp  WD  WS PM10  CO   O3    
1                        NA   64 19.8   0 -2.9 37 15.2  61 2.2  241 0.9 40.6    
2                        NA   37 20.1   0  1.1 38 15.2 344 2.1  241 0.9 40.3    
3                        NA   36 20.2   0  0.7 39 15.1  32 1.9  241 0.9 39.4    
4                        NA   52 20.1   0  0.9 40 14.9  20 2.1  241 0.9 38.7    
5                        NA   42 19.0   0  0.9 40 14.6  11 2.0  241 0.9 38.7    
6                        NA   75 19.9   0  0.2 40 14.5 341 1.3  241 0.9 39.1    
  No2 Nox  No SO2                       date    
1 1.4 2.9 1.5 1.6  31/12/2000 24:00             
2 1.7 3.1 1.4 0.9  01/01/2001 00:05             
3 2.1 3.5 1.4 1.2  01/01/2001 00:10             
4 2.7 4.2 1.5 1.3  01/01/2001 00:15             
5 2.3 3.8 1.5 1.4  01/01/2001 00:20             
6 2.8 4.3 1.5 1.3  01/01/2001 00:25 

Любые идеи


person eliavs    schedule 04.04.2011    source источник
comment
Связанный вопрос: stackoverflow.com/questions/ 5465383/merging-aggregate-data-in-r/   -  person Joris Meys    schedule 04.04.2011
comment
Йорис ответил на ваш вопрос, поэтому я удалил ответ, но следующие рекомендации о том, как помочь нам помочь вам, заслуживают внимания. Из вашего вопроса неясно: 1. Какая информация является общей между двумя наборами данных, которые вы хотите объединить 2. Как вы хотите, чтобы ваш окончательный результат выглядел 3. Как создать набор данных репликации, который люди могут протестировать (пожалуйста, используйте dput для этого)   -  person Ari B. Friedman    schedule 04.04.2011


Ответы (1)


Сделайте дополнительный столбец для расчета дат, а затем объедините. Для этого вам нужно сгенерировать переменную в каждом кадре данных с одинаковым именем, поэтому сначала вам нужно переименовать. Также убедитесь, что используемый вами столбец слияния имеет один и тот же тип в обоих фреймах данных:

beit.shemesh$datetime <- beit.shemesh$date
beit.shemesh$date <- as.Date(beith.shemesh$datetime,format="%d/%m/%Y")
synoptic$date <- as.Date(synoptic$date,format="%d/%m/%Y")
merge(synoptic, beit.shemesh,by="date",all.y=TRUE)

Использование all.y=TRUE сохраняет набор данных beit.shemesh неповрежденным. Если вам также нужны пустые строки для всех несовпадающих строк в сводке, вы можете вместо этого использовать all=TRUE.

person Joris Meys    schedule 04.04.2011