我正在尝试将矩阵转换为数据框,并在一行中分配名称。
正如我使用的?as.data.frame
有一个参数叫col.names
这似乎对我不起作用,我做错了什么吗?
as.data.frame(matrix(c(1:4), nrow=2), col.names=c("a","b"))
输出:
V1 V2
1 1 3
2 2 4
预期输出:
a b
1 1 3
2 2 4
我知道我可以稍后用 `colnames(matrix) = c("a,"b) 分配它,但我只是想知道是否可以在一行中完成它。 (
我们可以用dimnames
论证中matrix
当转换为时,这将返回列名data.frame
as.data.frame(matrix(1:4, nrow=2, dimnames = list(NULL, c("a", "b"))))
# a b
#1 1 3
#2 2 4
而在OP的代码中,matrix
输出没有任何列名,所以as.data.frame
默认情况下将列名称创建为“V1”、“V2”。这col.names
论据不是as.data.frame
for class
matrix
,所以没有任何效果
如果我们引用的文档?as.data.frame
“矩阵”类的 S3 方法
as.data.frame(x, row.names = NULL, 可选 = FALSE, ...,
stringsAsFactors = default.stringsAsFactors())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)