dplyr中的R paste函数不按预期迭代

时间:2015-11-04 19:10:06

标签: r dplyr paste

我对paste()函数的行为方式感到困惑。我有一个带有以下列的dplyr表:

Year    Month    DayofMonth
2001    May      21
2001    May      22
2001    June     9
2001    March    4

我希望将其组合成一个名为" Date"的列。我想我已经使用了命令:

df2 = mutate(df, Date = paste(c(Year, Month, DayofMonth), sep = "-",))

不幸的是,这似乎连接了Year中的每个元素,然后是Month中的每个元素,然后是DayofMonth中的每个元素,所以结果看起来像这样:

2001-2001-2001-2001 ... May-May-June-March ... 21-22-9-4

我应该如何修改我的命令,以便粘贴函数分别遍历每一行?

P.S。这是Data Camp课程的一部分,因此我通过他们的服务器上的任何R版本运行命令。

1 个答案:

答案 0 :(得分:6)

目前,您正在将所有列连接在一起。从c()调用中取出paste(),将它们逐个元素粘贴在一起。

mutate(df, Date = paste(Year, Month, DayofMonth, sep = "-"))
#   Year Month DayofMonth         Date
# 1 2001   May         21  2001-May-21
# 2 2001   May         22  2001-May-22
# 3 2001  June          9  2001-June-9
# 4 2001 March          4 2001-March-4