假设我有一个数据框:
a <- data.frame(a=c("f", 2, 3), b=c("g", 3, 7), c=c("h", 2, 4))
我想从第一行创建列名称。我的猜测是:
names(a) <- a[1,]
给出:
names(a)
[1] "3" "3" "3"
我没有完全明白发生了什么。谁能解释并帮助我如何正确地做到这一点?
最佳答案
a 的列是因子,每列具有不同的水平。 R 将它们转换为整数。因为,对于每一列,字母按字母数字顺序出现在最后,它被分配值 3。
尝试
names(a) = as.character(unlist(a[1,]))
names(a)
关于r - 从数据框中的第一行创建数据框的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22714845/