write.table не добавляет информацию из извлеченных различных CSV-файлов
Я хочу извлечь некоторые значения из набора CSV-файлов и добавить их в новый CSV-файл. Когда я использую write.table(append=T), информация не добавляется, а перезаписывается.
for(Tsd in c(0.001))
{
for(Fsd in c(2,5,10,15,20,30,60))
{
nameoffile <- paste("summary_out_T_",Tsd,"_F_",Fsd,"_2.csv",sep="")
durdata <- read.csv(file = nameoffile, header=TRUE, sep=",")
name2 <- paste("duration.csv", sep = "")
file.create(name2)
a=c("Fsd", "onSD")
write.table(as.matrix(t(a)), sep = ",", name2, col.names = F, row.names = F, append = T)
aa = c(Fsd, durdata[[16,14]])
write.table(as.matrix(t(aa)), sep = ",", name2, col.names = F, row.names = F, append = T)
}
}
Выходной файл "duration.csv" должен иметь 8 строк
> Fsd onSD
> 2 a
> 5 b
> 10 c
> 15 d
> 20 e
> 30 f
> 60 g
вместо этого он имеет только
> Fsd onSD
> 60 g
Есть что-то, чего мне не хватает? не следует добавлять = T позаботиться об этом?
1 ответ
Вопрос здесь: file.create(name2)
: вы создаете файл снова и перезаписываете. Пытаться
name2 <- paste("duration.csv", sep = "")
file.create(name2)
for(Tsd in c(0.001))
{
for(Fsd in c(2,5,10,15,20,30,60))
{
nameoffile <- paste("summary_out_T_",Tsd,"_F_",Fsd,"_2.csv",sep="")
durdata <- read.csv(file = nameoffile, header=TRUE, sep=",")
a=c("Fsd", "onSD")
write.table(as.matrix(t(a)), sep = ",", name2, col.names = F, row.names = F, append = T)
aa = c(Fsd, durdata[[16,14]])
write.table(as.matrix(t(aa)), sep = ",", name2, col.names = F, row.names = F, append = T)
}
}