我正在尝试处理一些字符。
代码如下:
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
如何解决这个问题?
很抱歉,以前没有指定问题。我现在已经弄清楚了问题所在。
答案 0 :(得分:3)
您需要为新列指定名称,例如
unite(data, "newcol", sep = "%in%")
如果您使用管道,例如,这似乎没有3个参数就可以工作
data %>% unite("newcol", sep = "%in%")
但是管道运算符实际上只是隐藏了data
是第一个参数的事实。
编辑后添加:您的原始表单确实在tidyr
版本0.8.1(@Spacedman指出)中有效,但是生成的数据框无效。此后此错误已修复。