收集当前处于因子形式的多列

时间:2019-06-17 00:33:49

标签: r dplyr tidyverse

我将在此发布更多详细信息。

我有一个火车货运数据集。目前,在几年的时间里(超过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)

这些都没有起作用。如果您有任何建议,请告诉我。谢谢!

0 个答案:

没有答案