在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在进行一些处理时,出现这样的错误提示: 原因在于,对data.frame类型进行rbind()操作时,存在不对应的列,而rbind()是对data.frame的列名进行匹配后进行行扩增的; 比如,如下定义了两个data.frame,dt1,dt2,存在不相对的列名,则会报错: 此时,如果将dt2的colnames中的F5改为F1,即与dt1列名一样但是列顺序不同,再进行rbind()操作: 可以发现,data.frame的rbind操作是根据colnames进行匹配,从而进行行扩增操作,列顺序以第一个data.frame为准; 如果将dt1,dt2的类型转为matrix再进行rbind()操作,则不存在这样的问题,会根据列对应位置进行行扩增,不受列名影响: 另,如果对data.frame进行cbind操作,是否受rownames一致性的影响呢?答:不影响 同样定义两个data.frame,dt1,dt2,设置不相对的行名,进行cbind()操作: 不存在问题,行名没有影响 data.frame是特殊的二维列表,每一列可以是不同的数据类型,这表示它被设计为列为研究对象的数据结构,在使用时一定要注意,而不能直接当做矩阵使用。 |
请发表评论