временные ряды тестовых данных — как я могу объединить 2 набора данных?

#r

#r

Вопрос:

У меня есть 2 набора данных: один с результатами тестирования (nedl_1), а другой с большим количеством результатов тестирования (subset_cal1) и временем для этих тестов (dc_time). Я хотел бы объединить данные по идентификатору, указанному в столбце File (например, 180061). Сначала я транспонировал subset_cal1, и теперь имя столбца в обоих наборах данных примерно одинаковое (за исключением «.»). Затем я попытаюсь присоединиться к ним. Однако объединение их невозможно, поскольку один набор данных является числовым, а другой — факторным (из-за транспонирования).

Я преобразовал транспонированный subset_cal_1 в числовой, но столбец dc_time был преобразован в число. Я думаю, что я что-то навязываю здесь, и я бы предпочел узнать, как это сделать правильно, потому что это появится снова.

nedl_1

   Wavelength      18005.1      18006.1      18009.1      18010.1      18012.1
1        350 7.920042e-10 8.118013e-10 1.002651e-09 7.379407e-10 9.285596e-10
2        351 7.990535e-10 6.535653e-10 1.275650e-09 5.742704e-10 9.042697e-10
  

subset_cal1

    File                  dc_time Channels  it calibration instrument_num
1 180061 Fri Jan 20 15:37:40 2012     2151 136           1          18006
2 180091 Fri Jan 27 13:30:23 2012     2151 136           1          18009
3 180101 Fri Jan 27 09:41:38 2012     2151 136           1          18010
4 180121 Tue Feb 28 12:15:02 2012     2151 136           1          18012
  

Вот код, который я использовал для транспонирования subset_cal1, а затем объединения с nedl_1

 n <- subset_cal1$File                          # remember the characters in $File 
sh_raw <- as.data.frame(t(subset_cal1[,-1]))   # transpose all but $File
colnames(sh_raw) <- n                          #  change colnames to those stored in n

dups <- unique(as.list(sh_raw))        # list the duplicate cols
sh_raw_2 <- sh_raw[!duplicated(dups)]  # remove duplicate cols

j_raw_nedl <- left_join(sh_raw, nedl_1)   #join matching cols
  

Ошибка: не удается объединить ‘18051.1’ x ‘18051.1’ из-за несовместимых типов (числовых / символьных)

Комментарии:

1. Добро пожаловать в SO. Пожалуйста, поделитесь воспроизводимыми данными dput с ожидаемым результатом

2. Спасибо Dave2e за переформатирование 🙂

3. Кроме того, пожалуйста, покажите, а не сообщите нам свой код.