내 데이터 프레임의 행을 변경/반전하고 데이터를 조 변경하지 않고 맨 아래 행을 맨 위로 이동하는 등의 작업이 필요합니다. 데이터 프레임 인 경우 :행렬/데이터 프레임의 행 순서 변경
1 2 3
4 5 6
7 8 9
가 나는 약 sort()
을 읽었습니다하지만 난 그것이 내가 필요한 것을 생각하지 않습니다 또는 내가 찾을 수 아니에요
7 8 9
4 5 6
1 2 3
로 변환해야 그 길.
내 데이터 프레임의 행을 변경/반전하고 데이터를 조 변경하지 않고 맨 아래 행을 맨 위로 이동하는 등의 작업이 필요합니다. 데이터 프레임 인 경우 :행렬/데이터 프레임의 행 순서 변경
1 2 3
4 5 6
7 8 9
가 나는 약 sort()
을 읽었습니다하지만 난 그것이 내가 필요한 것을 생각하지 않습니다 또는 내가 찾을 수 아니에요
7 8 9
4 5 6
1 2 3
로 변환해야 그 길.
은 아마 더 우아한 방법이 있습니다,하지만,이 작품 : 당신이 행 인덱스로 정수의 반대 순서로 행렬을 색인하고 있기 때문에
m <- matrix(1:9, ncol=3, byrow=TRUE)
# m[rev(seq_len(nrow(m))), ] # Initial answer
m[nrow(m):1, ]
[,1] [,2] [,3]
[1,] 7 8 9
[2,] 4 5 6
[3,] 1 2 3
이 작동합니다. nrow(m):1
결과는 3 2 1
입니다.
I 당신은 dplyr
패키지를 사용하여 data.frame의 순서를 반전시킬 수
revdata <- thedata[dim(thedata)[1L]:1,]
이 라인을 따라, 인덱스 행의 수로 시작하는 행을 반대 것 :
iris %>% arrange(-row_number())
을 또는 파이프 작업자를 사용하지 않고 수행
arrange(iris, -row_number())
Veeery 늦었지 만 작업이 쉬운 것 같습니다. g 빠르면 추가 패키지가 필요없고 간단합니다.
for(i in 1:ncol(matrix)) {matrix[,i] = rev(matrix[,i])}
자주 사용하는 경우 기능을 사용하지 않을 것으로 생각됩니다. R v = 3.3.1로 테스트되었습니다.
우리는 (data.frame 만 해당) row.names의 역순 수 있습니다
# create data.frame
m <- matrix(1:9, ncol=3, byrow=TRUE)
df_m <- data.frame(m)
#reverse
df_m[rev(rownames(df_m)), ]
# X1 X2 X3
# 3 7 8 9
# 2 4 5 6
# 1 1 2 3
가장 인기있는 답변을해야을 이럴 ... –
또는'아이리스 [순서 (row.names (아이리스) , reduced = T),]' –
@VeerendraGadekar "고아"쉼표가 있고 관심 표를 두 번 지정하고 라운드 및 대괄호를 혼합하기 때문에 솔루션이 덜 직관적이라고 생각합니다. 나는 이것이 올바른 base-r 문법이라는 것을 알고 있지만, 내 취향에는 약간의 우아함이 부족하다. –