2013-05-09 6 views
0

방금 ​​R을 사용하기 시작했습니다 그리고 이것은 아주 기본적인 일이 될 수도 있지만 여기 내 문제가 있습니다 : for 루프를 사용하여 첫 번째 행과 나머지를 의미합니다 서로 다른 데이터 프레임에 대한 행. 각 데이터 프레임마다 고유 한 플롯이 있습니다. 내가 처음 내 모든 테이블 이름 files <- c("file1, "file2", "file3"...)다른 데이터 프레임의 행을 그릴 R

저장 그리고 나는 그것을 for(i in files) {plot(c(1:13), i[1,])}

    X T  C A C.1 A.1 A.2  G T.1 T.2 A.3 G.1 A.4 
sample1   NA -0.6 10.6 13.7 -4.7 5.6 -11.7 -13.8 -11.9 -6.4 -12.7 2.9 7.5 
sample2   3.4 -1.5 -1.3 11.9 10.3 8.0 -8.0 -9.9 6.5 -0.5 3.4 -4.5 4.8 
sample3   0.8 -5.7 3.9 20.3 14.0 8.1 -8.0 -9.8 5.9 -6.7 6.5 -3.9 9.0 
sample4   15.9 -6.1 -5.8 14.8 22.4 15.4 -2.8 -9.4 9.4 -4.2 -0.8 1.5 4.5 

음모 루프를 사용하여 시도 내가하는 데 문제가 있어요 곳입니다. i [1,] 대신에 파일 이름을 사용하면 플롯 할 수 있지만 파일이 많습니다. 각 테이블은 다음과 같지만 더 많은 행과 열이 있습니다. 또한 숫자 대신 숫자를 사용하여 각 위치에 뉴클레오티드 글자를 할당 할 수 있도록 x 축을 변경하는 방법을 아는 사람이 있습니까? (X, T, C, A, C, A, A, G, T, T, A, G, A)

아이디어가 있으십니까? 감사합니다.

답변

0

i으로 지정된 이름을 가진 개체를 참조하려면 get(i)을 사용해야합니다. 예를 들어

:

for (i in files) { 
    plot(1:ncol(get(i)), get(i)[1, ], xaxt='n') 
    axis(1, at=1:ncol(get(i)), labels=colnames(get(i))) 
} 

기본 x 축은 xaxt='n' 억제하고 axis(1, ...) 플롯. 다양한 수의 열을 사용하여 코드를 data.frames으로 일반화 할 수 있도록 이라는 개체의 열 수와 1의 정수 시퀀스를 반환하는 1:ncol(get(i))을 사용했습니다.

+0

위대한 작품입니다! 도움을 많이 주셔서 감사합니다. 그게 내게 두통을 많이 주네. – user2364418

관련 문제