2015-02-07 3 views
2

OK 이렇게하면 테이블에 대한 데이터 프레임에 대해 알지 못할 수 있습니다. 필자는 mydata라는 데이터 프레임의 항목으로 구성된 tbb라는 테이블을 가지고 있습니다. 그런 다음 colsum을 사용하여 요약 통계를 작성하고 colsum을 데이터 프레임으로 다시 변환하려고합니다. 나는이 작업을 수행 할 때 단지 열로 두 개의 열 중 하나 인식하는 것 같다1 차원 테이블을 두 개의 열이있는 데이터 프레임으로 변환하는 방법

이 내 colsums

LSU-rRNA_Hsa  LTR1   LTR10A   LTR10B   LTR10B1 
    309   90    351    404    183 
    LTR10C  LTR10D   LTR10E   LTR10F   LTR10G 
    181   675    173    72    231    
LTR12   LTR12   LTR12B   LTR12C   
    333   359    15    144 


But when I then convert this to a dataframe I get 


LSU-rRNA_Hsa  181 
LTR1    675 
LTR10A   173 
LTR10B    72 
LTR10B1   231 
LTR10C   309 
LTR10D    90 
LTR10E   351 
LTR10F   404 
LTR10G   183 
LTR12    379 
LTR12_   273 
LTR12B    86 
LTR12C   497 

위대한의 결과입니다. 내가 ncol을 할 때까지는 LTR 등이 아닌 하나의 열만 있습니다. 왜 이것이 변환에 잘못 되었습니까? 코드는 다음과 같습니다.

mydata = read.table("/Users/Repeats.txt") 
#General tidy up 
mydata[4:6] <- NULL 
mydata[5] <- NULL 
names(mydata) <- c("chrom", "chromStart", "chromEnd","Rptname") 
tbb <- table(mydata$chromStart,mydata$Rptname) 
tbb[tbb == 0] <- NA 
tbb[tbb > 0] <- 1 
coll <- as.data.frame(colSums(tbb,na.rm = TRUE)) 
+0

이는 아마도 행의 이름 일뿐입니다. 원하는대로 추출하고 저장할 수 있습니다. 'row.names (coll)'를 시도하십시오. –

+0

아, 네, 그들은 행 이름입니다. 따라서 최종 목표는 행 이름에 대해 숫자를 플롯하는 것입니다. 데이터 프레임은 하나의 열 colSums (tbb, na.rm = TRUE)를 호출합니다. 그래서 이름을 가진 플롯을 만들려고 할 때 (colSums (tbb, na.rm = TRUE))) <- c ("mycol") + plot (mycol)에 x 축이 없습니다. –

답변

2

이름은 rownames로 변환됩니다. 대신 다음을 수행 할 수 있습니다.

result = colSums(tbb, na.rm = TRUE) 
result = data.frame(Names = names(result), Values = result) 
+0

Perfect Thanks Konrad –

관련 문제