R语言不能给数据框的列重命名

来源:互联网 发布:centos ntp client配置 编辑:程序博客网 时间:2024/05/08 18:18

简单粗暴的说,如果数据框的一列无论是用names()colnames(),rename()均不能对其重命名,那么应该是那一列本身就是一个数据框,这种情况下,用plyr包里面的函数则会报错。
在经历了学号读入后会变成科学计数法之后,在处理数据时又遇到了一个新问题,上次用format()函数明明是可以把科学计数法变成文本的,这次在处理一个比较大的数据的时候却失灵了,使用了format()函数之后仍然是科学计数法。这时我尝试了一个方法:
首先,把那一列数据读取到剪贴板上面,然后再用read.delim('clipboard')函数把它们读进去。但这时一定要注意了,这种方式读进去的数据格式是一个数据框,如果在把它赋值进另一个数据框的某一列,就会出现之前所说的错误,不能对该列进行重命名,使用plyr包里面的函数也会报错。我是用的解决方法是先把它转化为矩阵(as.matrix())再进行赋值,为什么不用as.vector()转化为向量呢,这个我也试过,貌似数据框不能直接转化为向量,但在R语言中矩阵就是向量,所以效果是等价的。
P.S.这个错误让我找了半个多小时

0 0