df <- as.data.frame(matrix(sample(0:2, 10 * 10, replace = TRUE), 10, 10))
我想对df进行排序,使非零元素数量最多的列出现在df[,1]
中。
奖金:
在具有相等的非零元素的列组中,按colsum排序将是很好的(df[,order(colSums(df),decreasing=T)]
)。
答案 0 :(得分:3)
只需通过创建逻辑矩阵(df != 0
)来更改代码,然后执行colSums
df[,order(colSums(df!= 0),decreasing=TRUE)]