我正在尝试在R中使用recode(来自car包),但无法正常工作。我将.csv文件中的数据读入名为results的数据帧中。然后,根据以下逻辑替换Built_year列中的值。

recode(results$Built_year,
       "2 ='1950s';3='1960s';4='1970s';5='1980s';6='1990s';7='2000 or later'")

完成此步骤后,当我检查results$Built_year时,它似乎起作用了。但是,它不存储该值,而是返回其先前的值。我不明白为什么。

谢谢。

(目前出了点问题,我看不到任何要格式化的图标)

最佳答案

您需要分配一个新变量。

car包中的recode为例

R> x <- rep(1:3, 3)
R> x
[1] 1 2 3 1 2 3 1 2 3
R> newx <- recode(x, "c(1,2)='A'; else='B'")
R> newx
[1] "A" "A" "B" "A" "A" "B" "A" "A" "B"
R>

顺便说一下,该程序包称为car,而不是汽车。

关于r - 为什么在R中重新编码不会更改原始值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2935837/

10-16 06:38