2016-11-16 5 views
1

hallo Ich habe eine df, die wie folgt aussieht:Plot Schleife durch Spalten und Zeilen in [r]

A  B  C 
101 201 301 
102 202 302 

und ich ein 2x5 Bild Plot jeder Spalte (jeweils 10 Werte erstellen möchten entsprechenden Dateien in JPG) ohne den Code 100 Mal zu wiederholen. Meine Fragen sind, wie würde ich eine Schleife einrichten, um diese für mich zu planen.

das ist der harte Code, den ich für die erste Spalte verwendet:

require(jpeg) 
image_frame = par(mfrow=c(5,2)) 
par(mar = c(1,1,1,1)) 

plot(1:2, type='n' ,xaxt='n', yaxt='n') 
mtext("101", side=2, line = 0) 
img101 = readJPEG('images/101.jpg') 
rasterImage(img201, 1, 2, 2, 1) 

ich eine Funktion und einige Variablen annehmen würde den Wert ‚101‘ zu halten, um das Etikett und die Dateinamen zu nennen, anstatt hart Code wäre am effizientesten.

plotALL = function{ 
plot(1:2, type='n' ,xaxt='n', yaxt='n') 
mtext("colName") 
mtext("i", side=2, line = 0) 
img101 = readJPEG('images/'i'.jpg') 
rasterImage(img'i', 1, 2, 2, 1) 


for(i in dim(df)) 
plotALL(i) 

Antwort

1

Da es keine reproduzierbaren Code ist, ist hier eine grobe Schätzung ...

par(mfrow=c(5,2)) 
for(column in df) { 
    plot(1:2, type='n' ,xaxt='n', yaxt='n') # i guess this depends in the jpg 
    for(i in column) { 
    jpg <- readJPEG(sprintf('images/%s.jpg', i)) 
    rasterImage(jpg,1,2,2,1) 
    } 
    # save image somehow... 
}