R 使用单个|日期|温度| 1 |温度| 2 |温度| 3 |等重塑数据帧。。。。。变成|日期|温度|形式

R 使用单个|日期|温度| 1 |温度| 2 |温度| 3 |等重塑数据帧。。。。。变成|日期|温度|形式,r,dplyr,R,Dplyr,我有37个站的温度数据帧。第一列是日期,第二列到最后一列是1-37个站点的温度。我需要以这样的方式安排数据,结果包含Station1-37的Date列和temperature列。使日期列在每个站点之后重复 我试过了 库(dplyr) tmax_1%>%选择('Date','V1') tmax_2%>%选择('Date','V2') tmax_3%>%选择('Date',V3) tmax_4%>%选择('Date',V4) tmax_5%>%选择(“日期”,V5) tmax_6%>%选择(“日期”

我有37个站的温度数据帧。第一列是日期,第二列到最后一列是1-37个站点的温度。我需要以这样的方式安排数据,结果包含Station1-37的Date列和temperature列。使日期列在每个站点之后重复

我试过了

库(dplyr)
tmax_1%>%选择('Date','V1')
tmax_2%>%选择('Date','V2')
tmax_3%>%选择('Date',V3)
tmax_4%>%选择('Date',V4)
tmax_5%>%选择(“日期”,V5)
tmax_6%>%选择(“日期”,V6)

但这需要大量的打字。有谁能建议更好的解决方案,以防我需要为1000多个站点提供解决方案!!![在此处输入图像描述][1]

看起来您希望从“宽”数据生成“长”数据
tidyr
gather()

正如您在问题中给出的标题格式,您可以用更好的方式来完成,您可以尝试:

tidyr::gather(df,key=“Station”,value=“Temperature”,-Date)

在这里,您将创建一个名为
Station
的列,该列将根据旧列名包含站点的名称或id,而
Temperature
列将根据CEL包含温度值。最后一个参数
-Date
将日期列排除在同一转换之外。您可以在上了解有关
gather()
spread()
的更多信息,以及上的其他问题

下一次,如果你对你的数据进行一些可视化,或者给出一个可复制的例子和预期结果,这可能会很有帮助