测试数据时间序列-如何合并2个数据集?

时间:2019-04-10 17:39:07

标签: r

我有2个数据集:一个具有测试结果(nedl_1),另一个具有更多测试结果(subset_cal1),以及这些测试的时间(dc_time)。我想按“文件”列中显示的ID合并数据(例如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'上加入

0 个答案:

没有答案