创建数据框并在单个操作中指定行/列名称

时间:2018-05-26 18:06:16

标签: r

R中捕获的旧nabble线程中,指示需要三个单独的操作才能获得此帖http://r.789695.n4.nabble.com/To-give-column-names-of-a-data-frame-td2249996.html标题中描述的结果:

results <- data.frame(matrix(c(1,2,3,4),nrow=2,ncol=2)) 
rownames(results) <- c("a","b") 
colnames(results) <- c("c","d") 

这些可以折叠成一个操作吗?

2 个答案:

答案 0 :(得分:2)

我们可以使用setnamesrow.names将它们设置为一行

setNames(data.frame(matrix(c(1,2,3,4),nrow=2,ncol=2), row.names=c("a","b")), c("c", "d"))

#  c d
#a 1 3
#b 2 4

答案 1 :(得分:1)

您可以使用属于dimnames功能的matrix选项。 dimnames的第一部分是行名,第二部分是列名。

data.frame(matrix(c(1,2,3,4),nrow = 2, ncol = 2, dimnames = list(c("a","b"), c("c","d")))

matrix(c(1,2,3,4),nrow = 2, ncol = 2, dimnames = list(c("a","b"), c("c","d")))与上一行之间的差异在于,matrix调用会为您提供matrix属性dimnnamesdata.frame行会将matrix转换为包含行名称和列标题的data.frame