tidyr包中的联合功能不起作用

问题描述 投票:1回答:1

我正在尝试处理一些角色。

代码如下所示:

library(tidyr)
unite(data ,sep="%in% ")

这里的data是一个数据框,如下所示:

   A      B
1  Var   'Y'

我可以在R 3.4.4下成功运行它。

1 Var%in% 'Y'

但在R 3.5.1中,它会告诉我错误:

Error in is_string(expr) : argument "expr" is missing, with no default 

如何解决这个问题呢?

很抱歉之前没有指定问题。我现在已经弄明白了问题是什么。

r string tidyr
1个回答
4
投票

您需要为新列指定名称,例如

unite(data, "newcol", sep = "%in%")

如果你使用管道,这似乎没有3参数。

data %>% unite("newcol", sep = "%in%")

但管道操作员实际上只是隐藏了data是第一个参数的事实。

编辑添加:您的原始表单在tidyr版本0.8.1中工作(正如@Spacedman所指出的那样),但它生成的数据框无效。之后的某个时候修复了这个bug。

© www.soinside.com 2019 - 2024. All rights reserved.