【发布时间】:2016-11-29 17:25:22
【问题描述】:
如果[ 函数将矩阵添加到矩阵中,data.frames 似乎继承了矩阵的列名。示例:
blob <- matrix(11:20, ncol = 1, dimnames = list(NULL, "BLOB"))
foo <- data.frame(FOO = 201:210)
dat <- data.frame(id = 1:10)
dat[, "new1"] <- blob
dat[, "new2"] <- foo
如果我现在看dat,它会显示给我
id BLOB new2
1 11 201
2 12 202
3 13 203
...
所以显示的不是预期的"new1",而是"BLOB";即使colnames(dat) 是"id"、"new1" 和"new2"。此外,"BLOB" 在attributes(dat) 中找不到,dat[, "BLOB"] 给出“未定义的列已选择”错误。
两个问题:
- 为什么在这种情况下
dat显示"BLOB"而不是"new1"? - 如何更改
dat,使其显示"new1"而不是"BLOB"?
【问题讨论】: