用于更改无法在R中工作的data.frame列类的通用函数

时间:2015-12-05 17:38:40

标签: r function class dataframe

我已经看到很多人写过循环或使用不同的包来一次更改大量data.frame列的类(请参阅herehere和{{ 3}}对于SO示例),但我想尝试自己的功能。如果我一行一行地运行该功能,但是当我运行该功能时,实际上没有任何事情发生(即,这些类实际上并没有改变)。但是,我也没有收到任何错误。

任何帮助指出这个问题都将不胜感激!

功能:

  class.changer <- function(col.names,dat,class.to) {
    for(i in c(col.names)) {
      dat[,i] <- eval(parse(text=paste0('as.',class.to,'(dat[,\'',i,'\'])')))
    }
  } 

示例:

df <- data.frame(a=1:5,b=1:5)
str(df)
class.changer('a',df,'factor')
str(df) #alas, no change!!

0 个答案:

没有答案