重命名r中的值的功能不起作用

时间:2016-11-28 20:37:25

标签: r function

我正在尝试编写一个更改数据框中特定值的函数。我有一个具有多个数值的数据框,我想将它们更改为字符串。例如,在数据框的“type”列中,我想将1更改为字符串'foil',将2更改为字符串'repeat',等等。我能够在a上创建一些代码单一类型,效果很好:

mydata[which(mydata[,'type'] == 1),'type'] <- 'foil'

由于这个工作本身,我试图创建以下功能:

recode <- function(column, value1, value2) {
  mydata[which(mydata[,column] == value1), column] <- value2
}

为了测试它,我运行以下代码:

recode('type',1,'foil')

运行时我没有遇到任何错误,但它没有改变任何东西。当我手动定义变量并运行函数代码时,我可以使它正常工作:

column <- 'type'
value1 <- 1
value2 <- 'foil'
mydata[which(mydata[,column] == value1), column] <- value2

我不确定为什么同一行代码在函数外部工作,但在函数内部不起作用。任何帮助将不胜感激!

0 个答案:

没有答案