0

我试图仅将我的 sf data.table 中的某些列从字符强制转换为数字。当我在没有函数的情况下编写代码时,它可以工作。

columns <- c("STATEFP", "COUNTYFP", "TRACTCE", "BLKGRPCE", "GEOID", "ALAND", "AWATER", "INTPTLAT", "INTPTLON") for (i in columns){ sfphl[[i]] <- as.numeric(sfphl[[i]])}

当我将相同的代码加载到函数中时,它不再起作用。

    col_conv <- function(x){
        columns <- c("STATEFP",  "COUNTYFP", "TRACTCE", "BLKGRPCE", "GEOID", "ALAND", "AWATER", "INTPTLAT", "INTPTLON")
          for (i in columns){
            x[[i]] <- as.numeric(x[[i]])
          }
        }
col_conv(sfphl)

我的函数可能遗漏了一些东西,我尝试在函数末尾使用 return(x) 或 x 无济于事。我不认为这与 data.table 是一个简单的功能有关,但它可能是。

4

0 回答 0