我几周前开始学习R,所以我对R编码还是非常非常陌生的;我试图对 Dataframe 进行数字排序,但在执行函数order( Dataframe 名称)所产生的已排序 Dataframe 顶部,显示“xtfrm.data.frame(x)中的警告:无法xtfrm Dataframe ”。请有人告诉我我做错了什么吗?
非常感谢!
示例:
order(iris[,"Petal.Width"]) # this seems fine
order(iris[,"Petal.Width",drop=FALSE]) # warning
order(iris[,c("Petal.Width","Sepal.Width")]) # warning
R版本4.1.0
3条答案
按热度按时间gwo2fgha1#
我使用的是R版本4.1.0,就像您指出的,order()函数似乎带有错误检查。您仍然可以尝试使用order()函数,如下所示:
下面是jmount 1撰写的标题为 “It Has Always BeWrong to Call order on a data.frame” 的文章中的一个替代方法链接
pod7payv2#
使用
order(table$colname)
而不是order(table["colname"])
可以避免错误。0aydgbwb3#
一个更好的想法是通过使用
as.matrix
将 Dataframe 转换成矩阵,然后在排序之后将其重新转换成 Dataframe 。