我有一个名为namearray的命名数组,名为
> namearray
evntidABCD evntidWXYZ
1 2
> names(namearray)
[1] "evntidABCD" "evntidWXYZ"
> nrow(namearray)
[1] 2从这个namearray中,我想构造一个名为f的数据帧,这样namedf的col.names应该与namearray完全相同。并且namedf的行数应该比namearray少1,因为namearray中的第一行是列名。
我尝试了下面的代码,它给出了下面的错误。
>namedf<-data.frame()
>col.names(namedf)<-names(namearray)
Error in `colnames<-`(`*tmp*`, value = c("evntidABCD", "evntidWXYZ")) :
'names' attribute [2] must be the same length as the vector [0]发布于 2013-06-28 02:49:23
> namearray
evntidABCD evntidWXYZ
1 2 这看起来肯定不像一个“数组”。可能被命名为'vector‘。
如果您创建的数据帧没有列,那么就没有什么可命名的了。这将扩展"null dataframe“
namevec <- c(evntidABCD=1, evntidWXYZ =2)
namedf<-data.frame()
namedf <- setNames( rbind(namedf,namevec), names(namevec) )(Justin的建议更好。)
https://stackoverflow.com/questions/17350783
复制相似问题