在函数内部,我定义了一堆标量变量,如下所示:
a <- 10
b <- a*100
c <- a + b
Run Code Online (Sandbox Code Playgroud)
在函数的结尾,我想回到a,b,c一个名为向量,具有相同的名称作为变量,用最少的代码,即我并不想这样做:
c( a = a, b = b, c = c )
Run Code Online (Sandbox Code Playgroud)
是否有语言结构可以做到这一点?例如,如果我只是这样做,return(c(a,b,c))则返回一个未命名的向量,这不是我想要的.我目前有一个hacky方式这样做:
> cbind(a,b,c)[1,]
a b c
10 1000 1010
Run Code Online (Sandbox Code Playgroud)
是否有更好,更少hacky的方式?
我想知道最好的方法是使用lapply famliy(或plyr)函数系列来获取向量,将函数应用于元素,并返回一个名称与第一个参数向量中提供的值相同的列表.所以,例如,如果我这样做:
lapply(letters[1:3], function(x) NULL)
[[1]]
NULL
[[2]]
NULL
[[3]]
NULL
Run Code Online (Sandbox Code Playgroud)
我想返回,而不是[[1]],[[2]],[[3]]作为列表的名称(或简称为普通索引),字母"a","b",和"c"作为输出列表的名称.
我从这里知道我可以这样做(如何在R/Splus中创建一个名称但没有条目的列表?),事先用正确的名称创建列表,但我想知道如果我不能预先创建列出正确的名称.
谢谢,马特
r ×2