2

使用汽车包重新编码功能时,我遇到了一个反复出现的问题。如果我重新创建一个公开使用的示例(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"")

它返回:

错误:“y1 <- recode(y, "c("Perch"

我正在运行 R 3.1.0 并使用 car_2.0-22

我假设该页面的作者能够完成他们发布的操作,但我无法重新创建它,这与我的数据中的问题相同。想法?

4

1 回答 1

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"

应该管用。

于 2014-12-19T00:32:23.403 回答