如何解决重新排列 data.frame 的行名非字母
set0 <- data.frame(A = c("A","B","C","D","A","B"),B = c("E","F","G","H","I","E","I"))
set0 <- table(set0)
result:
> set0
B
A E F G H I
A 1 0 0 1 1
B 1 1 0 0 1
C 0 1 1 0 0
D 0 0 1 1 0
我知道当我想更改列顺序时,我可以使用以下方法:
set0 <- set0[,c(5,4,3,2,1)]
以上内容可以按我喜欢的任何方式更改列的顺序。
我正在寻找可以做完全相同但行名的东西。 有什么想法吗?
解决方法
在括号中,列定义在逗号的右侧(您所做的)。如果您还不知道,行定义在逗号的左侧。因此,您可以使用其中一种您最喜欢的方法:
set0[c(4,3,2,1),]
set0[4:1,]
set0[rev(seq(nrow(set0))),]
set0[c("D","C","B","A"),]
set0[rev(rownames(set0)),]
# B
# A E F G H I
# D 0 0 1 1 0
# C 0 1 1 0 0
# B 1 1 0 0 1
# A 1 0 0 1 1
,
您可以使用 factor
来定义顺序,例如,
table(
transform(
set0,A = factor(A,levels = sort(unique(A),decreasing = TRUE))
)
)
给出
B
A E F G H I
D 0 0 1 1 0
C 0 1 1 0 0
B 1 1 0 0 1
A 1 0 0 1 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。