Rのtidyrでデータクリーニングをしたいと考えています。

データはラベルが付いていないものを読み込んだのでV1~V1998となっており、型はデータフレームで名前はdfです。

v1,v2,v3,...,v1998
1,13,23,...,32
2,14,26,...,32
4,14,27,...,38
5,...
...
354,243,543,...,657

のようにv1に時間がはいり、V2~はそれぞれの人のデータとなっております。
これを

time,data
1,13
2,14
4,14
....
354,243
1,23
2,26
....

のように縦に並べたいと考えています。timeにV1の値が入り、dataにV2~の値が入る形です。

df %>% tidyr::gather(key =time,value = data,df[,2:1998])

などとやってもエラーが出てしまいます。
どう対処すればよいでしょうか?
よろしくお願いします。

追記
tidyrでないパッケージ利用でも構いません。(スピードが実用に耐えられればですが…)