我对 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
我应该如何修改我的命令,以便粘贴函数单独迭代每一行?
附言这是 Data Camp 的一部分当然,因此我正在通过他们服务器上的任何版本的 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/