我有一个数据框A.
A <- as.data.frame(matrix(c(2,3,1,8,6,7,5,9,4), nrow = 3, ncol = 3))
rownames(A)<-c('Row1','Row2','Row3')
colnames(A)<-c('Col1','Col2','Col3')
A
Col 1 Col 2 Col 3
Row 1 2 8 5
Row 2 3 6 9
Row 3 1 7 4
我想按降序对行的每一列进行排序,并将列名复制到相应的列中。
Row 1 Col 2 Col 3 Col 1
Row 2 Col 3 Col 2 Col 1
Row 3 Col 2 Col 3 Col 1
我使用此代码来实现此目的。
sorted_users_vs_tags1<-t(apply(sorted_users_vs_tags1, 1, function(row) {
names(row)<-colnames(sorted_users_vs_tags1)
row[, order(row, decreasing = TRUE)]
row<-names(row)})
但是我在应用函数的第二行中的尺寸长度出错。
答案 0 :(得分:1)
使用此
matrix(colnames(A)[t(apply(A,1,order,decreasing=T))],ncol=3)