Comment appliquer la fonction renvoyant data.frames avec des facteurs à séquencer

Comment puis-je appliquer une fonction qui retourne un ensemble de données.cadre avec des facteurs de séquence?

Exemple:

s <- factor(c(10, 20, 30))
t <- factor(c("a", "b", "a"))
v <- c(5, 6, 4)

df <- data.frame(s,t,v)

De sorte que les données.châssis df est ceci:

   s t v
1 10 a 5
2 20 b 6
3 30 a 4

Moi aussi j'ai une fonction qui retourne un ensemble de données.cadre:

simpleFunc2 <- function(df, x){
  tmp <- subset(df, df$s == x)
  return(tmp)
}

Maintenant, j'ai une séquence

x <- c(20, 30, 10, 30, 10)

et souhaitez le résultat auf l'application de la fonction simpleFunc2 à cette séquence.

- Je utiliser sapply

sapply(x, function(x) simpleFunc2(df, x))

Mais je reçois

  [,1]     [,2]     [,3]     [,4]     [,5]    
s factor,1 factor,1 factor,1 factor,1 factor,1
t factor,1 factor,1 factor,1 factor,1 factor,1
v 6        4        5        4        5  

Comment puis-je obtenir les bonnes valeurs des facteurs de retour?

Cet exemple est simplifié. Alors peut-être il ya un moyen beaucoup plus simple de le faire dans ce cas.

source d'informationauteur JerryWho