Как перечислить результаты для нескольких расчетов в R - PullRequest
0 голосов
/ 21 сентября 2018

Я загрузил два исходных файла, выполнил несколько итерационных вычислений, а затем мне нужно отобразить / экспортировать результаты.Существуют сотни итеративных вычислений и, следовательно, сотни результатов.Однако отображаются только результаты окончательного расчета.

В этом примере я сократил список расчетов до 3. Пожалуйста, обратитесь к строке 7 (k в 1: 3).Как получить R для отображения результатов всех расчетов?

Большое спасибо заранее тем, кто может предложить помощь.Если этот вопрос уже задавался ранее, ссылка была бы отличной.Я не мог найти это, вероятно, потому что я не знаю правильных терминов для поиска.

# Load files
d1<-read.csv('testhourly.csv',sep=",",header=F)
names(d1)<-c("elapsedtime","units")
d2<-read.csv('testevent.csv',sep=",",header=F)
names(d2)<-c("eventno","starttime","endtime","starttemp","endtemp")

# Perform for calculations 1 to 3
for(k in 1:3){
a<-d2[k,2]
b<-d2[k,3]
x<-d1[a:b,]$q
a2<-d2[k,2]-1
b2<-d2[k,3]-1
y<-d1[a2:b2,]$q

z <- (x-y)}
results <- sum(z)

# Export results
write.csv(results, file = "results.csv")

1 Ответ

0 голосов
/ 21 сентября 2018

Вы не сохраняете выходные данные внутри цикла для каждой итерации, поэтому ваш цикл возвращает только окончательное значение последней итерации.

temp=vector("list",3)

for(k in 1:3) {
        a<-d2[k,2]
        b<-d2[k,3]
        x<-d1[a:b,]$q
        a2<-d2[k,2]-1
        b2<-d2[k,3]-1
        y<-d1[a2:b2,]$q

        temp[[k]] <- (x-y)
    }

results <- sum(unlist(temp))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...