2016-01-18 7 views
0

У меня есть матрица или таблица данных, как показано ниже:чтение dataframe или значение матрицы просто аналогична обработкой трубопровода в параллельной системе

which looks like 
    time  node1     node2    node3 
    1   100     200     300 
    2   101     245     329 
    3   90     245     350 
    4   129     320     290 
    5   79     270     320 

Я хочу, чтобы прочитать эту матрицу как:

In first run – 1,101,245,290 and assign to some vector 
In second run – 2,90,320,320 and assign to some vector. 
In third run—3,129,270 and assign to some vector. 

Так что на более позднем этапе я могу использовать этот вектор для математического расчета.

процесс похож на трубопровод, где каждый этап дает выход за такт.

+0

вы имеете в виду доступ к каждой строке 'х <- as.numeric (as.vector (DF [1,]))'? – user5249203

+0

Я просто хочу прочитать значения матрицы в этом порядке. и сохраняет в вектор. на этом этапе я не хочу делать какие-либо вычисления. – azad

ответ

0

Это даст вам большую часть пути. Вы можете индексировать data.frame с использованием матрицы. В первом столбце указывается строка, а вторая - столбец. Похоже, что вы хотите создать диагональные векторы

vecs <- lapply(1:3, function(i) df[cbind(pmin(i + 0:3, nrow(df)), 1:4)]) 

> vecs 
[[1]] 
[1] 1 101 245 290 

[[2]] 
[1] 2 90 320 320 

[[3]] 
[1] 3 129 270 320