我对paste()函数的行为方式感到困惑。我有一个带有以下各列的dplyr表:
Year Month DayofMonth
2001 May 21
2001 May 22
2001 June 9
2001 March 4
我想合并到一个称为“日期”的列中。我以为我使用了以下命令:
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类(class)的一部分,因此,我正在通过服务器上安装的任何版本的R运行命令。
最佳答案
当前,您正在将所有列连接在一起。从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
关于dplyr中的R粘贴功能未按预期进行迭代,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33530101/