2016-08-11 18 views
1

我有一個名字和一個矢量我怎樣才能讓一個tibble/tbl_df/data_frame從一種或多種載體

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

,我想做出tibble/tbl_df/data_frame與具有一列作爲該列的名稱的my.name以及作爲值的my.vec。我有什麼是

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

這只是感覺很傻。有沒有更簡單的方法來做到這一點?

我也對我有多個向量和多個名稱的情況感興趣,

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

@ user5249203'my.name'不會進行評價,你最終有一個'data.frame'帶有一個名爲'my.name'的列。 – AlexR

+1

使用命名列表'as_data_frame(setNames(list(my.vec),my.name))' –

+1

或將其重命名爲'data_frame(my.vec)%>%rename(my.name = my.vec)'' –

回答

2

我認爲最好的答案進來評論。

DirtySockSniffer推薦:

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

這很好地推廣到多列的情況

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

您可以創建一個data_frame,然後設置其列名:

my.data <- data_frame(my.vec.1, my.vec.2, ...) 
names(my.data) <- c(my.name.1, my.name.2, ...) # Order is important here 
相關問題