dplyr 中的 R 粘贴函数没有按预期迭代

标签 r dplyr paste

我对 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/

相关文章:

r 派生指示变量

r - 根据条件和列名称改变乘法列

VIM:删除范围并将其粘贴到当前行

vim - 如何在 Vim 中开箱即用地实现 “paste -d ' ␣'” 行为?

javascript - meteor :如何将粘贴事件绑定(bind)到 html 元素?

r - readr read_csv 是否允许在 zip 中指定特定文件

r - 从 R 执行 Perl - perlQuote/shQuote?

删除字符串的多个空列

R刻度数据: merging date and time into a single object

r - 使用 dplyr full_join 扩展 data.frame 的 grid