当我不使用gsub函数时,R中的recode函数出现奇怪的gsub错误

时间:2018-11-16 14:03:50

标签: r syntax-error gsub recode

我经常在汽车库中使用R中的recode()函数。效果很好。但是,现在我收到一条奇怪的gsub错误消息,而且我不知道为什么为什么没有在命令中调用gsub()函数。

前几天,我使用gsub()函数提取了逗号,但那是完全不同的。自得到错误以来,我指定了car :: recode()函数并重新启动R并仅重新加载了汽车库,但是仍然遇到相同的错误。

下面的代码对我的学生来说只是一个简单的重新编码练习,现在我陷入了困境。有什么想法吗?

# enter grade data
> trust <- c("D","C","B","D","E","C","A","F","D","C")

# recode letters to numbers
> library(car)
> trust.r <- recode(trust(" 'A'=5; 'B'=4; 'C'=3; 'D'=2; 'E'=1; 'G'=0 "))
Error in gsub("\n|\t", " ", recodes) : argument "recodes" is missing, with no default

# Weird error.  Specify recode() from car library
> trust.r <- car::recode(trust(" 'A'=5; 'B'=4; 'C'=3; 'D'=2; 'E'=1; 'G'=0 "))
Error in gsub("\n|\t", " ", recodes) : argument "recodes" is missing, with no default

# Still weird error.  Flip " and ' symbols, just in case
> trust.r <- car::recode(trust(' "A"=5; "B"=4; "C"=3; "D"=2; "E"=1; "G"=0 '))
Error in gsub("\n|\t", " ", recodes) : argument "recodes" is missing, with no default

1 个答案:

答案 0 :(得分:1)

我认为Gregor的评论是正确的。如果您阅读?recode页,则会看到

  

用法
  重新编码(var,重新编码,as.factor,as.numeric = TRUE,级别)

参数
var 数字矢量,字符矢量或因子。

  

重新编码重新编码规范的字符串:请参见下文。

因此,请勿尝试将recodes嵌入var