我将在此发布更多详细信息。
我有一个火车货运数据集。目前,在几年的时间里(超过100列),每个星期(各列)的每个公司(该行)列出了一个数字(每周载货量)。我想将其归为两列:日期和加载。
当前看起来像这样:
Railroad Measure Variable 3/29/2017 4/5/2017 4/12/2017 4/19/2017
BNSF Cars Total 32.7 31.6 32.3 32.5
BNSF Cars Total 20.5 21.8 22.0 22.3
CN Cars Total 24.1 24.1 23.6 23.4
CN Cars Total 24.9 24.7 24.8 26.5
我正在寻找:
Railroad Measure Variable Date Load
BNSF Cars Total 3/29/2017 32.7
BNSF Cars Total 3/29/2017 20.5
CN Cars Total 3/29/2017 24.1
CN Cars Total 3/29/2017 24.9
BNSF Cars Total 4/5/2017 31.6
我正在做以下的各种版本:
rail3 <- rail2 %>%
gather(`3/29/2017`:`1/24/2018`, key = "date", value = "loads")
当我这样做时,它会创建一个名为rail3的数据集,但并没有创建我想要的新列。它仅使数据集的长度是原来的44倍。它给了我以下信息:
Warning message:
attributes are not identical across measure variables;
they will be dropped
我认为这是因为日期列当前被编码为因素。但是我也不确定如何将100多个列从因子转换为数值。我尝试了以下方法和其他各种方法:
rail2["3/29/2017":"1/24/2018"] <- lapply(rail2["3/29/2017":"1/24/2018"], as.numeric)
这些都没有起作用。如果您有任何建议,请告诉我。谢谢!