如何在R中使用Lappy
我试图使用lappy,这样我就可以对R中向量的所有元素应用自定义函数。我试图避免在这里使用for循环 这就是我到目前为止所做的:如何在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 &
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)