tidyr软件包中的unite功能不起作用

时间:2019-03-13 08:35:52

标签: r string tidyr

我正在尝试处理一些字符。

代码如下:

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 

如何解决这个问题?

很抱歉,以前没有指定问题。我现在已经弄清楚了问题所在。

1 个答案:

答案 0 :(得分:3)

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

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

如果您使用管道,例如,这似乎没有3个参数就可以工作

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

但是管道运算符实际上只是隐藏了data是第一个参数的事实。

编辑后添加:您的原始表单确实在tidyr版本0.8.1(@Spacedman指出)中有效,但是生成的数据框无效。此后此错误已修复。