一个班轮想要:创建数据框并给出colnames:R data.frame(...,colnames = c("a","b","c"))

dva*_*nic 2 r

是否有更容易(即一行代码而不是两行!)的方式来执行以下操作:

results <- as.data.frame(str_split_fixed(c("SampleID_someusefulinfo.countsA" , "SampleID_someusefulinfo.countsB" , "SampleID_someusefulinfo.counts"), "\\.", n=2))
names(results) <- c("a", "b")
Run Code Online (Sandbox Code Playgroud)

就像是:

results <- data.frame(str_split_fixed(c("SampleID_someusefulinfo.countsA" , "SampleID_someusefulinfo.countsB" , "SampleID_someusefulinfo.counts"), "\\.", n=2), colnames = c("a", "b"))
Run Code Online (Sandbox Code Playgroud)

我做了很多,并且真的很想有办法在一行代码中使用它.

/data.table也适用,如果它比基础data.frame /更容易做到

澄清:

我的预期输出(通过在顶部运行两行代码实现 - 我希望它是一个 - 这就是它!!!)是结构的结果数据框架:

results
                       a      b
1 SampleID_someusefulinfo countsA
2 SampleID_someusefulinfo countsB
3 SampleID_someusefulinfo  counts
Run Code Online (Sandbox Code Playgroud)

我想做的是:

  1. 从矩阵或某些内容创建数据框(例如矩阵的玩具代码(c(1,2,3,4),nrow = 2,ncol = 2)我在我写的第一个例子中提供)
  2. SPECIFY 在同一行什么,我想我的数据帧的列名是

Sym*_*xAU 14

使用setNames()周围data.frame

setNames(data.frame(matrix(c(1,2,3,4),nrow=2,ncol=2)), c("a","b"))
#  a b
#1 1 3
#2 2 4
Run Code Online (Sandbox Code Playgroud)

?setNames:

一个便利函数,用于设置对象上的名称并返回该对象

> setNames
function (object = nm, nm) 
{
    names(object) <- nm
    object
}
Run Code Online (Sandbox Code Playgroud)


akr*_*run 5

我们可以在OP 用于创建数据时使用该dimnames选项.matrixmatrix

data.frame(matrix(1:4, 2, 2, dimnames=list(NULL, c("a", "b"))))
Run Code Online (Sandbox Code Playgroud)

要么

`colnames<-`(data.frame(matrix(1:4, 2, 2)), c('a', 'b'))
Run Code Online (Sandbox Code Playgroud)