2016-08-04 18 views
1

Ich habe eine Liste mit 10 data.frames und ich brauche nur zwei Spalten für jeden data.frame zu teilen und nach der relativen Standardabweichung zu berechnen.lapply - Spalten teilen und Standardabweichung berechnen

Ich möchte gerne lapply verwenden.

Hier ein Beispiel für eine der data.frame in der Liste enthalten:

df <- read.table(text = 'X Y 
2  4 
5  3 
1  2 
7  1 
4  2 
6  1', header = TRUE) 

Ich habe die folgenden Operationen mit lapply für alle meine 10 data.frames auszuführen:

ratio <- df$X/df$Y 
sd <- sd(ratio) 

Antwort

1

Wir können dies tun, indem Sie die list mit lapply überschleifen, die interessierenden Spalten extrahieren, teilen, um das "Verhältnis" zu erhalten, und dann die sd auf dieses Verhältnis tun. (Es könnte auch auf einem einzigen Schritt durchgeführt werden)

lapply(lst, function(x) {ratio <- x$X/x$Y 
         sd(ratio) }) 

wo ‚lst‘ ist die list von ‚data.frame ist.

+1

danke @akrun –

Verwandte Themen