2016-08-11 1 views
1

Ich mache haben einen Namen und einen VektorWie kann ich eine tibble/tbl_df/data_frame aus einem Vektor oder Vektoren

my.name <- 'data.values' 
my.vec <- 1:5 

und ich möchte eine tibble/tbl_df/data_frame mit einer Spalte machen, hat my.name als der Name dieser Spalte und my.vec als die Werte. Was ich habe ist

df <- data_frame(placeholder = rep(NA, length(my.vec))) 
df[[my.name]] <- my.vec 
df[['placeholder']] <- NULL 

Was nur dumm fühlt. Gibt es einen einfacheren Weg dies zu tun?

Ich bin auch an dem Fall interessiert, wo ich mehrere Vektoren und mehrere Namen, z.

my.name1 <- 'data.values.day1' 
my.name2 <- 'data.values.day2' 
my.vec1 <- 1:5 
my.vec2 <- 2:6 
... 
+0

@ user5249203 'schön auf die mehrspaltige Situation verallgemeinert werden my.name' nicht ausgewertet werden, so dass Sie mit einem' data.frame' Ende mit einer Spalte namens 'my.name'. – AlexR

+1

Verwenden Sie eine benannte Liste '' as_data_frame '(setNames (list (my.vec), mein.name) ' –

+1

Oder benennen Sie sie um' data_frame (my.vec)%>% rename (my.name = my.vec)' –

Antwort

2

Ich denke, die beste Antwort in einem Kommentar kam.

DirtySockSniffer empfohlen:

as_data_frame(setNames(list(my.vec), my.name))) 

die

as_data_frame(setNames(list(my.vec1, my.vec2), 
         c(my.name1, my.name2))) 
0

können Sie erstellen ein data_frame ersten und setzten dann ihre Spaltennamen:

my.data <- data_frame(my.vec.1, my.vec.2, ...) 
names(my.data) <- c(my.name.1, my.name.2, ...) # Order is important here 
Verwandte Themen