我对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版本运行命令。
答案 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