2017-07-25 8 views
0

Ich habe eine Liste von 12 Tabellen. Sie sehen alle fast gleich aus. Eine der Tabellen sieht so aus:Einfügen einer Liste von Vektoren in mehrere Tabellen in R

$X2015_kvish_1_10t 
kvish keta maslul yom nefah status    date 
1  1 10  1 2 1346  NA 2015-06-15 00:00:00 
2  1 10  1 2 788  NA 2015-06-15 01:00:00 
3  1 10  1 2 626  NA 2015-06-15 02:00:00 
4  1 10  1 2 652  NA 2015-06-15 03:00:00 
5  1 10  1 2 597  NA 2015-06-15 04:00:00 
6  1 10  1 2 798  NA 2015-06-15 05:00:00 
7  1 10  1 2 2344  NA 2015-06-15 06:00:00 
8  1 10  1 2 3617  NA 2015-06-15 07:00:00 
9  1 10  1 2 3669  NA 2015-06-15 08:00:00 
10  1 10  1 2 2873  NA 2015-06-15 09:00:00 
11  1 10  1 2 2926  NA 2015-06-15 10:00:00 
12  1 10  1 2 2928  NA 2015-06-15 11:00:00 
13  1 10  1 2 3681  NA 2015-06-15 12:00:00 
14  1 10  1 2 4158  NA 2015-06-15 13:00:00 
....... 
168 rows in total 

Und ich habe eine Liste von 12 Vektoren. Jeder Vektor enthält 7 Werte. der Name der Liste ‚mean_values‘ Es wird wie folgt aussehen:

> mean_values 
$X2005_kvish_1_10t 
    a  b  c  d  e  f  g 
3496.917 3480.167 3351.917 3382.500 3464.000 2859.417 2348.500 

$X2006_kvish_1_10t 
    a  b  c  d  e  f  g 
3439.625 3496.000 3502.875 3546.917 3519.250 2895.167 2333.208 

$X2007_kvish_1_10t 
    a  b  c  d  e  f  g 
3326.667 3363.208 3350.708 3466.250 3501.417 2829.083 2345.292 

$X2008_kvish_1_10t 
    a  b  c  d  e  f  g 
3440.000 3558.250 3439.167 3562.000 3605.875 2711.958 2276.208 

$X2009_kvish_1_10t 
    a  b  c  d  e  f  g 
3334.333 3213.917 3233.250 3281.292 3418.583 2727.000 2138.500 

$X2010_kvish_1_10t 
    a  b  c  d  e  f  g 
3233.667 3183.792 3354.458 3323.000 3527.875 2793.500 2232.542 

$X2011_kvish_1_10t 
    a  b  c  d  e  f  g 
2747.125 2749.750 2795.750 2755.792 2766.625 2220.000 1687.958 

$X2012_kvish_1_10t 
NULL 

$X2013_kvish_1_10t 
    a  b  c  d  e  f  g 
3421.667 3181.083 3276.583 3419.708 3461.708 2806.708 2139.333 

$X2014_kvish_1_10t 
    a  b  c  d  e  f  g 
2910.958 2745.917 2811.708 2886.208 2963.542 2459.292 1865.000 

$X2015_kvish_1_10t 
    a  b  c  d  e  f  g 
2869.708 2868.250 2919.292 2808.417 2438.167 1841.875 2929.083 

$X2016_kvish_1_10t 
    a  b  c  d  e  f  g 
2848.375 2818.042 2927.833 2976.042 3061.083 2584.667 1884.292 

, was ich tun möchte, ist jeden Vektor zu jeder Tabelle als eine neue Spalte hinzuzufügen, sondern weil ich 168 Zeilen in jeder Tabelle, repräsentieren eine volle Woche, ich muss nur den ersten Wert jedes Vektors an die erste Zeile in jeder Tabelle und den zweiten Wert jedes Vektors an die 25. Zeile in jeder Tabelle und den dritten Wert jedes Vektors an die 49 anhängen Die Zeile in jeder Tabelle und so weiter für alle Werte der Vektoren. Der Rest der Werte in der neuen Spalte wird NAs sein.

Antwort

0

Wenn ich verstehe, was Sie tun möchten, und ich nehme an, dass ldf ist die Liste der Datenrahmen, können Sie einfach tun:

n <- nrow(ldf[[1]]) 

for (name in names(ldf)) { 
    col <- rep(NA_real_, n) 
    if (!is.null(mean_values[[name]])) col[seq(1, n, 24)] <- mean_values[[name]] 
    ldf[[name]][["mean_values"]] <- col 
} 
+0

Ich habe versucht, aber es ist ein Fehler: 'Fehler in Spalte [f (1, n, 24)] <- mean_values.1_10t [[name]]: ersatz hat die länge null ' –

+0

Hast du es nach meinem bearbeiten versucht? –

+0

es funktioniert immer noch nicht: Fehler in col [seq (1, n, 24)] <- mean_values.1_10t [[Name]]: Ersatz hat Länge Null, Zusätzlich: Warnmeldungen: 1: In col [seq (1, n, 24)] <- mean_values.1_10t [[name]]: Anzahl der zu ersetzenden Elemente ist kein Vielfaches der Ersatzlänge –

Verwandte Themen