我运行下面的代码,p
是加载的 Dataframe 。
a <- sort(table(p$Title))
a1 <- as.data.frame(a)
tail(a1, 7)
a
Maths 732
Science 737
Physics 737
Chemistry 776
Social Science 905
null 57374
88117
我想对上面的数据框结果做一些操作。我想给数据框添加列名。我尝试了colnames函数。
colnames(a1) <- c("category", "count")
我得到以下错误:
Error in `colnames<-`(`*tmp*`, value = c("category", "count")) :
attempt to set 'colnames' on an object with less than two dimensions
请建议。
1条答案
按热度按时间o7jaxewo1#
正如我在对你的问题的评论中所说,类别是行名。一个可重复的例子:
得到的dataframe:
看看dataframe
a1
的尺寸,你会得到这个:这意味着您的 Dataframe 有8行和1列。尝试为
a1
Dataframe 分配两个列名将导致错误。您可以通过两种方式解决问题:
1:只分配一个columnname,
colnames(a1) <- c("count")
2:将行名转换为类别列,然后分配列名:
得到的dataframe:
您可以使用
rownames(a1) <- NULL
删除行名。这将给出: