假设我有这个矩阵
m <- matrix(1:9, 3, 3)
Run Code Online (Sandbox Code Playgroud)
看起来像这样
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
Run Code Online (Sandbox Code Playgroud)
我想将此矩阵放入具有特定列名称的数据框中。例如
col_names <- c("col1", "col2", "col3")
Run Code Online (Sandbox Code Playgroud)
创建数据框时是否有一种简单的方法来给出这些列名称?
# This is how I want to create the data frame
df <- data.frame(m)
Run Code Online (Sandbox Code Playgroud)
我希望我能说一些类似的话col.names=col_names。我尝试使用renamefrom 的函数dplyr,但无法使其在一行中工作
m %>% data.frame %>% {rename(., col_names=names(.))}
Run Code Online (Sandbox Code Playgroud)
问题是它不允许我将向量解包为我认为的参数。有没有更好的办法?
重要的是:我想在创作时给出这些名字。不在新行中。可能,它应该发生在管道中
要准确回答您的问题,请使用setNames:
m %>% data.frame() %>% setNames(col_names)
Run Code Online (Sandbox Code Playgroud)
然而,这是一个“单行代码”,就像嵌套函数调用是单行代码一样。