假设您正在尝试在函数中创建数据框.我希望能够提前将列名定义为函数的参数之一.请使用以下代码:
foo <- function(a) {
answer <- data.frame(a=1:5)
return(answer)
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我希望能够在函数中指定列名的值foo(),例如foo('my.name'),使得answer具有列名my.name而不是a.我想你可以在函数内编写这个代码colnames(),但我对另一种方法很感兴趣.
使用colnames是我知道data.frame的唯一方法,虽然colnames()本身就是一个向量,所以不需要对它进行任何迭代.此版本处理两列:
foo <- function(cname) {
answer <- data.frame(1:5, 1:5)
colnames(answer) <- cname
return(answer)
}
> foo(c("a","b"))
a b
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
Run Code Online (Sandbox Code Playgroud)