使用函数将变量名称从upper更改为lower

Dan*_* KS 1 r function character names

我正在使用一堆SAS数据集,我更喜欢变量名称都是小写的,使用read.sas7bdat,但我这样做,所以我经常想编写一个函数.这个方法工作正常,

df <- data.frame(ALLIGATOR=1:4, BLUEBIRD=rnorm(4))
names(file1) <- tolower(names(file1))
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将它放入一个函数时它不会分配.

lower <- function (df) {names(df) <- tolower(names(df))}
lower(file1)
Run Code Online (Sandbox Code Playgroud)

我知道我缺少一些更大的概念,这阻碍了我.它似乎没有做任何事情.

Kar*_*ner 6

R中的参数通过副本传递.你必须做:

lower <- function (df) {
  names(df) <- tolower(names(df))
  df
}
file1 <- lower(file1)
Run Code Online (Sandbox Code Playgroud)

  • 或者`setNames(df,tolower(names(df)))`. (4认同)