再会,
我已经设法编写了一个脚本来使用行的平均值来规范化一行中的数据。我不确定我是否使用函数命令来创建合适的函数(代码)
hyp <- function(x){
andira<-subset(filenames, select=c(Wavelength,X400:X2400))
myBreaks <- gl(ceiling((ncol(andira)-1)/5), 5)[1:(ncol(andira)-1)]
and.mean<-cbind(andira[1],
sapply(levels(myBreaks), function(y) {
rowMeans(andira[-1][myBreaks == y])
}))
library(data.table)
and.T <- as.data.table(and.mean)
and.T.new<-and.T[,list(Mean=rowMeans(.SD)), by=Wavelength]
normalized<-and.mean/and.T.new$Mean
normalized$Wavelength<-andira$Wavelength
final<-aggregate(normalized, by=list(normalized$Wavelength), FUN=mean)
write.table(final, file = "data-appended.csv", sep = ",",
col.names = FALSE, append=TRUE)
}
我想将此功能应用于我保存在文件夹中的不同文件。我已经搜索并看到我可以使用以下命令读取放置在文件夹(函数)中的所有文件:
filenames <- list.files("C:/Users/dfs/Documents/Function", pattern="*.txt", full.names=TRUE)
我想我可能必须使用循环,但我以前从未使用过循环,我不确定如何实现循环以确保脚本自动应用于所有文件并且最终结果自动附加到我的单个输出文件. 我已经看到使用了plyr包装。我不确定这是否是最好的方法。请问有什么建议吗???