2012-08-30 4 views
0

행렬이 있고 행의 순서를 변경하여 행 5를 행 2로, 행 2를 행 7로 변경할 수 있습니다. 모든 rownames가 \n 그리고 나는 어떻게 든 R (그 txt 파일)에 읽어 들일 수 있다고 생각했다. 그리고 나서 행렬의 이름을 사용했다. (제 경우 'k'와 같은 것을한다.) k[txt file,]-> k_new과 같은 일을한다. 그러나 이것은 식별자가 처음이 아니기 때문에 작동하지 않는다. 열하지만이 rownames로 정의됩니다 아마도행렬의 행을 재정렬하는 방법

+0

제목의 열은 텍스트의 행이라고 말합니다. 무엇 이니? –

+2

dput (k)의 출력 결과는 귀하의 질문에서 눈에 띄는 모호성을 명확히하는 데 도움이됩니다. –

답변

1
k[ c(1,5,3,4,7,6,2), ] #But probably not what you meant.... 

또는을 (당신의 'K'객체 rownames는 기본 문자 - 숫자 순서 이외의 경우).

k[ char_vec , ] # where char_vec will get matched to the row names. 

(dat <- structure(list(person = c(1, 1, 1, 1, 2, 2, 2, 2), time = c(1, 
2, 3, 4, 1, 2, 3, 4), income = c(100, 120, 150, 200, 90, 100, 
120, 150), disruption = c(0, 0, 0, 1, 0, 1, 1, 0)), .Names = c("person", 
"time", "income", "disruption"), row.names = c("h", "g", "f", 
"e", "d", "c", "b", "a"), class = "data.frame")) 

dat[ c('h', 'f', 'd', 'b') , ] 
#------------- 
    person time income disruption 
h  1 1 100   0 
f  1 3 150   0 
d  2 1  90   0 
b  2 3 120   1 
+0

hallo - 나는 행을 참조하고 있었다. 그래서 올바른 순서로 rownames를 가진 목록을 가지고 있다면 그냥 쓸 수있다. k [txt file,]? –

+0

행 재정렬 방법을 시연했습니다. "["에 대한 "i"위치의 문자 벡터는 rownames를 참조합니다. (오해의 소지가있는 나의 두 번째 옵션을 정정 할 것이다. "txt"와 "file"사이에 공백이 있기 때문에 분명히'k [txt file,]'을 사용할 수 없지만 "txtfile" k [txtfile,]' –

관련 문제