Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中使用Lappy_R - Fatal编程技术网

如何在R中使用Lappy

如何在R中使用Lappy,r,R,我试图使用lappy,这样我就可以对R中向量的所有元素应用自定义函数。我试图避免在这里使用for循环 这就是我到目前为止所做的: writeToHDFS <- function(fileName){ print(fileName) hdfs.init() modelfile <- hdfs.file(fileName, "w") hdfs.write(gaDataUser, modelfile) hdfs.close(modelfile) } fileNames &

我试图使用lappy,这样我就可以对R中向量的所有元素应用自定义函数。我试图避免在这里使用for循环

这就是我到目前为止所做的:

writeToHDFS <- function(fileName){
  print(fileName)
  hdfs.init()
 modelfile <- hdfs.file(fileName, "w")
  hdfs.write(gaDataUser, modelfile)
 hdfs.close(modelfile)
}

fileNames <- c("gaDataUser", "gaDataSession", "gaDataSources","gaDataEventTracking", "gaDataEcommerce", "gaDataEcommerce2", "gaDataEcommerce3", "gaDataEcommerce4")


lapply(fileNames,writeToHDFS(x))
三,。我可以将变量文件名传递给


writeToHDFSx为您提供函数的返回值,而不是为文件名传递字符串。 但您希望传递函数,以便:

lapply(fileNames,writeToHDFS)
我试图使用lappy,这样我就可以对R中向量的所有元素应用自定义函数

在这种情况下,您应该使用tapply:

lapply是list apply的缩写,但文件名是一个向量而不是列表

人们对你投了反对票,因为强烈建议你先查看手册或文档。既然你已经很好地瞄准了使用Lappy,你可以从?Lappy学习


否决票是反馈的另一种形式,而不是评论和回答。这意味着这个问题并不真正需要SO社区的努力。作为R用户,您应该知道,遇到麻烦时,R文档是您应该首先查找的内容。

但这会引发一个错误:lapplyfileNames,printfileName中的writeToHDFSx错误:对象“x”不是found@SimranKaur这不是真的。我对R社区如何在堆栈上溢出几乎所有东西感到非常惊讶。请阅读文档?Lappy,看看示例ExampleLappy两者都是外部资源。阅读《伟大》了解lapply/sapply的工作原理。要从角色中获取对象,请查看geta Thank@jogo。对我来说,这个问题似乎是:lapplyfileNames,writeToHDFSx。第二个参数应仅为函数:lapplyfileNames,writeToHDFS。R可以将函数作为对象传递给其他函数,如lappy。lappy可以应用于向量:lapply1:5,sqrt
modelfile <- hdfs.file(fileName, "w")
lapply(fileNames,writeToHDFS)
tapply(fileNames, 1:length(fileNames), writeToHDFS)