当我不使用 gsub 函数时,R 中的重新编码函数出现奇怪的 gsub 错误
Odd gsub error for a recode function in R when I didn't use the gsub function
我经常使用汽车库中 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
我认为 Gregor 的评论是正确的。如果您阅读 ?recode
页面,您会看到
Usage
recode(var, recodes, as.factor, as.numeric=TRUE, levels)
参数
var 数值向量、字符向量或因子。
recodes character string of recode specifications: see below.
所以,不要试图将 recodes
嵌入 var
我经常使用汽车库中 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
我认为 Gregor 的评论是正确的。如果您阅读 ?recode
页面,您会看到
Usage
recode(var, recodes, as.factor, as.numeric=TRUE, levels)
参数
var 数值向量、字符向量或因子。
recodes character string of recode specifications: see below.
所以,不要试图将 recodes
嵌入 var