df <- as.data.frame(matrix(sample(0:2, 10 * 10, replace = TRUE), 10, 10))
我想对 df 进行排序,使非零元素数量最多的列出现在 df[,1]
中。
奖金:
在具有相等非零元素的列组中,按 colsum 排序会很好 (df[,order(colSums(df),decreasing=T)]
)。
最佳答案
代码只需更改为创建逻辑矩阵 (df != 0
),然后执行 colSums
df[,order(colSums(df!= 0),decreasing=TRUE)]
关于r - 按列中非零元素的数量对 data.frame 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57512231/