我有大约 100 个文件(长文件名),其中包含来自模拟的数据。主题是两种物质的降解,所以我有 3 个相关列:时间、物质 1 的相对浓度(Sub1,从 1.0 到零)和相对浓度。物质 2 (Sub2)。
我想读取文件,确定每种基材 99% 降解的时间,并将适当的时间保存在数据框中。现在,我将结果保存在文本文件中,但这非常不舒服,您会发现。
names<-dir(pattern="txt")
z <- 0.99 #degradation level
a <- 1-z
for (n in names){
data <- read.table(file=n,header=T)
attach(data)
matchs1 <- Time[abs(Sub1-a)==min(abs(Sub1-a))]
matchs2 <- Time[abs(Sub2-a)==min(abs(Sub2-a))]
degrad <- cbind(matchs1,matchs2)
setwd("C:/.../subdirectory")
write.table(degrad, file=paste(n,"99",".txt"),sep=" ",row.names=FALSE)
}
我不想写入文件,而是想将结果(降级)写入连续行的数据帧中。
由于我仍然是初学者,我认为还有一种更简单的方法来完成这一切?
预先感谢您的帮助 ...
我通常在这些情况下使用的框架是:
do.call(rbind, lapply(file_list, function(file_name) {
# open file_name, do whatever processing
# then return result as a data.frame (with data for just this one file,
# then rbind will bind everything together)
# in your example that would be the data.frame "degrad"
})) -> your_combined_dataframe
如果你使用data.table
相反,您可以替换do.call(rbind,
by rbindlist(
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)