使用汽车包重新编码功能时,我遇到了一个反复出现的问题。如果我重新创建一个公开使用的示例(http://susanejohnston.wordpress.com/2012/07/18/find-and-replace-in-r-part-1-recode-in-the-library-car/)
并且做:
y <- sample(c("Perch", "Goby", "Trout", "Salmon"), size = 10, replace = T)
y1 <- recode(y, "c("Perch", "Goby") = "Perciform" ; c("Trout", "Salmon") = "Salmonid"")
它返回:
错误:&#34; y1&lt; - recode(y,&#34; c(&#34; Perch&#34;
)中的意外符号
我正在运行R 3.1.0并使用car_2.0-22
我认为页面的作者能够完成他们发布的操作,但我无法重新创建它,这与我的数据中的问题相同。想法?
答案 0 :(得分:3)
我是wordpress文档的作者 - 代码错误,感谢标记问题。
问题是car :: recode语法需要单引号而不是双引号(或者参见下面@MrFlick关于其他可接受语法的注释)。
y1 <- recode(y, 'c("Perch", "Goby") = "Perciform" ; c("Trout", "Salmon") = "Salmonid"')
y1
[1] "Perciform" "Salmonid" "Perciform" "Salmonid" "Salmonid" "Perciform" "Salmonid" "Perciform"
[9] "Salmonid" "Perciform"
应该工作。