2017-05-09 3 views
0

Je suis en train de convertir ALPHA permet de dire dataframe:Appliquer et ajouter trame de données en R

 A B C  D  E 
1 0.80 2.00 0.09 201.1 335.00 

à dataframe BETA

 A B C  D  E A1 B1 C1 D1  E1 
1 0.80 2.00 0.09 201.1 335.00 1.60 3.00 0.18 402.2 670.00 

si à peu près par 2 et multiplie ajoute.

faisant actuellement comme:

curveCalculator <- function(variable, variableName){ 
     // Need variableName here for another part 
     return(variable*2) 
    } 


    BETA <- lapply(ALPHA, function(variableName, variable){ 
    calculated <- curveCalculator(variable, variableName) 
    return(calculated) 
    }, names(optional)) 

    bind_cols(ALPHA, as.data.frame(BETA,col.names=paste(names(BETA), 1, sep=""))) 

Cependant, il passe curveCalculator Tous les noms, si A il passerait 0,80 pour la variable et c ("A", "B", "C", "D "," E ") pour le nom de la variable. Je veux seulement passer « A » A « B » B et ainsi de suite ..

Répondre

0

Essayez cette

library(purrr) 
BETA <- map2(ALPHA, names(ALPHA), curveCalculator) %>% 
    as.data.frame() 
names(BETA) <- paste0(names(BETA), 1) 
cbind(ALPHA, BETA) 
+0

je besoin d'un moyen de transmettre le nom de la colonne en cours à la funs fonction –

+0

I voir ce que vous voulez dire, mis à jour la réponse –