我想让我的函数接受用户提供的任意数量的数据,然后代码就在no上工作。用户提供的数据。我可以在R吗?
以下是我想要做的样本:
myfunction<-function(data1,data2,data3,datan) #n no. of data parts
{
data1<-(data1)*2
data2<-(data2)*2
data3<-(data3)*2
datan<-(datan)*2
}
所以假设用户只输入一个data1数据,那么操作只发生在data1上,不需要其他数据部分,用户得到输出
我该怎么做?
答案 0 :(得分:1)
您可以使用...
myfun <- function(...) {
dat.lst <- list(...)
dat.lst.new <- lapply(dat.lst, function(x){return(x*2)})
return(dat.lst.new)
}
myfun(c(1, 2), matrix(1:9, 3,3))
# [[1]]
# [1] 2 4
# [[2]]
# [,1] [,2] [,3]
# [1,] 2 8 14
# [2,] 4 10 16
# [3,] 6 12 18