write.table не добавляет информацию из извлеченных различных CSV-файлов - PullRequest
0 голосов
/ 19 февраля 2019

Я хочу извлечь некоторые значения из набора 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 Ответ

0 голосов
/ 19 февраля 2019

Проблема здесь: 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)
  }
}
...