我有一个包含5列和非常大的数据集的数据框。我想按第3列排序。如何在第一行之后对所有内容进行排序。 (调用此函数时,我想用nrows结束它)
示例输出:
原件:
4
7
9
6
8
新:
4
9
8
7
6
谢谢!
答案 0 :(得分:2)
如果我正确理解你想做什么,这种方法应该有效:
z <- data.frame(x1 = seq(10), x2 = rep(c(2,3), 5), x3 = seq(14, 23))
zsub <- z[2:nrow(z),]
zsub <- zsub[order(-zsub[,3]),]
znew <- rbind(z[1,], zsub)
基本上,剪掉你想要排序的行,在第3列按降序排序,然后重新连接第一行。
这是使用dplyr
的管道版本,因此您不会使用额外的对象混乱工作区:
library(dplyr)
z <- z %>%
slice(2:nrow(z)) %>%
arrange(-x3) %>%
rbind(slice(z, 1), .)
答案 1 :(得分:1)
您可以尝试使用这一行代码来修改数据框df
中的第三列,如下所述:
df[,3] <- c(df[1,3],sort(df[-1,3]))
答案 2 :(得分:0)
#define IsIphone6Plus ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )1104 ) < DBL_EPSILON )
#define IsIphone6 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )667 ) < DBL_EPSILON )
#define IsIphone5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
#define IsIphone4 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )480 ) < DBL_EPSILON )