티스토리 툴바



'2010/05'에 해당되는 글 21건

  1. 2010/05/31 있어 보이는 heatmap 만들기
  2. 2010/05/30 불교 미술의 해학
  3. 2010/05/30 APCN 2010
  4. 2010/05/30 도서관 서비스
  5. 2010/05/29 조개잡기
  6. 2010/05/26 Array data 살펴 보기 - Simple
  7. 2010/05/26 Array data 살펴 보기 - 삽질편
  8. 2010/05/24 Green-Black-Red heatmap
  9. 2010/05/22 외계어
  10. 2010/05/21 IgA nephropathy
2010/05/31 12:27

있어 보이는 heatmap 만들기



  오늘 아침에 Journal 발표 시간에 갑자기 생각난 아이디어를 바탕으로 heatmap 을 다시 만들어 보았다. 만들면서 느낀 건데 이런 chip 기반의 data는 해석하는데 항상 주의가 필요하다. 원 데이터를 조작하지 않아도 중간의 과정을 저자가 원하는 방향으로 이끌게 되면 그렇게 보이는 자료를 만들 수 있다. :) 이 heatmap 은 9, 10 번과 그 이외의 자료가 유의한 차이를 나타나도록 만든 것이다. 하지만, 마음만 먹으면 다른 자료가 유의하게 나오도록 한 다음 다른 설명을 하는 것도 가능하다. -_-

  그림 만드는 것은 어느정도 해결이 되었으니 이제는 원자료를 해석하는데에 집중해야겠다.


  그렇게 깔끔한 구문이라고는 못하지만 문법적인 문제는 없는 것 같고, 컴퓨터도 그렇게 느린 편은 아니라서 좀 길게 만들어도 신경을 쓰지 않았다.

2010/05/24 - [공부해 봅시다/R-Project] - Green-Black-Red heatmap
2010/05/26 - [공부해 봅시다/R-Project] - Array data 살펴 보기 - Simple


library(gplots)
data <- read.table("Book1-1-3.csv", header=T, sep=",")

CONF <- 0.0001 #유의수준

COUNT <- 0  #유의한 값을 가지는 항목 숫자세기
for (X in 1:5467) {
x <- c(data[X,2],data[X,3],data[X,4],data[X,5], data[X,6],data[X,7],data[X,8],data[X,9])
y <- c(data[X,10],data[X,11])
z1 <- t.test(x,y, var.equal=FALSE, paired=FALSE, conf.level=CONF)     
z2 <- t.test(x,y, var.equal=TRUE, paired=FALSE, conf.level=CONF)
if (z1$p.value < CONF | z2$p.value < CONF) {COUNT <- COUNT +1}
}

newdata <- matrix(nrow=COUNT, ncol=10) #유의한 값을 가지는 것을 위한 새로운 matrix 만들기
COUNT1 <- 0
for (X in 1:5467) {
x <- c(data[X,2],data[X,3],data[X,4],data[X,5], data[X,6],data[X,7],data[X,8],data[X,9])
y <- c(data[X,10],data[X,11])
z1 <- t.test(x,y, var.equal=FALSE, paired=FALSE, conf.level=CONF)     
z2 <- t.test(x,y, var.equal=TRUE, paired=FALSE, conf.level=CONF)
if (z1$p.value < CONF | z2$p.value < CONF) {COUNT1 <- COUNT1 +1
newdata[COUNT1, 1] <- data[X,2];newdata[COUNT1, 2] <- data[X,3];newdata[COUNT1, 3] <- data[X,4];newdata[COUNT1, 4] <- data[X,5];
newdata[COUNT1, 5] <- data[X,6];newdata[COUNT1, 6] <- data[X,7];newdata[COUNT1, 7] <- data[X,8];newdata[COUNT1, 8] <- data[X,9];
newdata[COUNT1, 9] <- data[X,10];newdata[COUNT1, 10] <-data[X,11]
}
}

my.hclust <- function(x){hclust(x, method="complete")}
my.dist <- function(x){dist(x, method="euclidean")}
 
heatmap.2(newdata, col=redgreen, trace="none", density.info="none", hclustfun=my.hclust, distfun=my.dist, main=CONF)

저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

Package 설치하기  (0) 2010/09/09
Maximally selected chi-square statistics  (0) 2010/06/11
있어 보이는 heatmap 만들기  (0) 2010/05/31
Array data 살펴 보기 - Simple  (0) 2010/05/26
Array data 살펴 보기 - 삽질편  (0) 2010/05/26
Green-Black-Red heatmap  (0) 2010/05/24
Trackback 0 Comment 0
2010/05/30 23:46

불교 미술의 해학


  KTX Magazine 인가 하는 곳에서 이 책을 소개하고 있어서 한 번 사서 봤다. 저자는 엄청나게 꼼꼼히 Gross를 하는지 정말 구석수석에 있는 포인트를 잡아내는 능력이 있다. 그리고 불교 지식에 해박하여 설명도 자세하다. 불교에 대한 지식이 전혀 없다면 오히려 이 책을 한 번쯤 읽어보는 것이 좋을 것 같다.
저작자 표시 비영리 동일 조건 변경 허락

'문화 생활' 카테고리의 다른 글

와이어드  (0) 2010/06/05
연세대학교병원 방문  (0) 2010/06/05
불교 미술의 해학  (0) 2010/05/30
조개잡기  (0) 2010/05/29
피자힐  (0) 2010/05/18
CHAD KEANE  (0) 2010/04/24
Trackback 0 Comment 0
2010/05/30 23:11

APCN 2010



CME 10 : Renal Transplantation
 The Histopathology of So-called Chronic Allograft Nephropathy
 Rejection vs. Tolerance: a New Viewpoint
 New Immunosuppressants in Renal Transplant

  딱 하나 내가 들을만한게 있기는 하던데.. 그 일정은 평일 오전에다가 하루에 12만원이라는 살인적(??)인 가격을 자랑하고 있다.
저작자 표시 비영리 동일 조건 변경 허락

'주저리 주저리' 카테고리의 다른 글

흑..  (0) 2010/06/06
괴로운 구내염..  (6) 2010/06/01
APCN 2010  (0) 2010/05/30
도서관 서비스  (0) 2010/05/30
외계어  (0) 2010/05/22
t_delta ~~~ too short  (0) 2010/05/20
Trackback 0 Comment 0
2010/05/30 22:51

도서관 서비스

  삼성서울병원 의학정보팀과 서울아산병원 아산의학도서관에서는 가능하고, 서울대학교 의과대학 의학도서관에서 가능하지 않은 것은 바로 공휴일이나 일요일에 문을 여는 것이다. 소속된 모집단이 서로 달라서 그런 문제가 생기는 것이겠지만, 이런 사소한 차이는 훗날 큰 차이로 돌아올 것이다. 
 
  두 군데 다 가 본 경험에 의하면 외부인에 대한 확인이 철저한 삼성서울병원도 좋았고, 외부인에 관대한(??) 아산서울병원도 좋은 것 같다.

  서울대학교 의학도서관이 한국의학도서관협회 회원증을 가지고 있어도 좀 편하게 갔다 올 수 있는데.. 전화 여러번 하는 것도 귀찮다. ㅠㅠ
저작자 표시 비영리 동일 조건 변경 허락

'주저리 주저리' 카테고리의 다른 글

괴로운 구내염..  (6) 2010/06/01
APCN 2010  (0) 2010/05/30
도서관 서비스  (0) 2010/05/30
외계어  (0) 2010/05/22
t_delta ~~~ too short  (0) 2010/05/20
가짜 트레비 분수??  (0) 2010/05/17
Trackback 0 Comment 0
2010/05/29 21:59

조개잡기


  갯벌에 사진기를 들고가는 용기를 발휘할 수는 없어서 나중에 갯벌이 보이는 사진만 찍었다. :)

  잡은 조개의 절반 정도만 먹을 수 있는 조개인 것 같았다. OTL
저작자 표시 비영리 동일 조건 변경 허락
이 장소를 Daum지도에서 확인해보세요.
경기도 안산시 단원구 대부동 | 대부도 종현어촌체험마을
도움말 Daum 지도

'문화 생활' 카테고리의 다른 글

연세대학교병원 방문  (0) 2010/06/05
불교 미술의 해학  (0) 2010/05/30
조개잡기  (0) 2010/05/29
피자힐  (0) 2010/05/18
CHAD KEANE  (0) 2010/04/24
헌책 기증 캠페인  (2) 2010/04/18
Trackback 0 Comment 0
2010/05/26 14:14

Array data 살펴 보기 - Simple

for (X in 1:5467) {
x <- c(data[X,2],data[X,3],data[X,4],data[X,5], data[X,6],data[X,7],data[X,8],data[X,9])
y <- c(data[X,10],data[X,11])                       
if (t.test(x,y)$p.value < 10e-07) print(data[X,])
}

  예전에 사놓고 존재를 망각해버린 책을 뒤져 보다가 if 문은 저렇게 쓴다는 것을 알았다. ㅡㅡ;;

2010/05/26 - [공부해 봅시다/R-Project] - Array data 살펴 보기 - 삽질편

저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

Maximally selected chi-square statistics  (0) 2010/06/11
있어 보이는 heatmap 만들기  (0) 2010/05/31
Array data 살펴 보기 - Simple  (0) 2010/05/26
Array data 살펴 보기 - 삽질편  (0) 2010/05/26
Green-Black-Red heatmap  (0) 2010/05/24
Heatmap 만들기  (0) 2010/05/16
Trackback 0 Comment 0
2010/05/26 14:11

Array data 살펴 보기 - 삽질편

  Array 값을 살펴 보다가 의미 있는 차이를 보이는 그룹을 찾는 것도 좋을 것 같아서 방법을 시도해 보았다. 문법을
잘 몰라 한참을 삽질하다가 우여곡절 끝에 대충대충 해결할 수 있었다.


data <- read.table("Book1-1-3.csv", header=T, sep=",")

a <- matrix(nrow=5467, ncol=2)

for (X in 1:5467) {
x <- c(data[X,2],data[X,3],data[X,4],data[X,5], data[X,6],data[X,7],data[X,8],data[X,9])
y <- c(data[X,10],data[X,11])                       
a[X,1] <- X
a[X,2] <- t.test(x,y)$p.value
}

z <- which(a[,2] < 5e-02)
a[z,]


  삽질을 시작하기 전에 우선 5467x2 의 크기를 같은 a 라는 matrix 를 만들어 둔다.
a <- matrix(nrow=5467, ncol=2)

  첫 row 와 column 에는 문자값이 있기 때문에 그것을 제외하면 5467x10 의 값을 가지게 된다. 우선 1~8 column 의 값과 9, 10 column 의 값이 서로 유의한 차이가 있는지 알아보고 싶었다. 그리고 이렇게 구한 t-test 를 5467 번 반복해야 하는 문제도 있었다.
 
  우선 X 를 1 부터 5467 까지 순환하도록 했다.
for (X in 1:5467) { --- }

  그러한 X 값에 따라서 1~8 column 에 포함된 값을 x 라는 항목에 입력을 하고 9, 10 column 값을 y 라는 항목에 입력했다.
x <- c(data[X,2],data[X,3],data[X,4],data[X,5], data[X,6],data[X,7],data[X,8],data[X,9])
y <- c(data[X,10],data[X,11])        

  이러한 x 와 y 를 t-test 를 시행하였을 때의 p.value 만을 알고 싶었고, 이 값과 이 것이 몇 번째 X 값인지를 알아야 할 필요가 있었다.
a[X,1] <- X
a[X,2] <- t.test(x,y)$p.value

  여기까지 한 번에 구해지기 때문에 나중에 a 라고 입력된 값을 보면 다음과 같다.


  이 a 라는 matrix 에서 2 column 에 포함된 값중 p-value 가 0.05 이하인 값을 찾고 싶었기 때문에 다음과 같이 했다. which 를 사용해서 구하기는 하는데 매번 row 값을 출력하는 문제(??)가 있엇다.
z <- which(a[,2] < 5e-02)

  그래서 그냥 이 문제를 안고 살기로 했다. p.value가 0.05 이하인 값을 가지는 row 가 z 로 지정하도록 하고 이 것을 그냥 사용하는게 내가 알고 있는 지식으로는 최고의 결론이었다. ㅡㅡ;;
a[z,]

  유의 수준을 10e-07 까지 올리면 다음과 같이 나온다.

저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

있어 보이는 heatmap 만들기  (0) 2010/05/31
Array data 살펴 보기 - Simple  (0) 2010/05/26
Array data 살펴 보기 - 삽질편  (0) 2010/05/26
Green-Black-Red heatmap  (0) 2010/05/24
Heatmap 만들기  (0) 2010/05/16
Chip data 찾아보기..  (0) 2010/05/05
Trackback 0 Comment 0
2010/05/24 11:12

Green-Black-Red heatmap

  Heatmap 은 역시 녹색, 검정, 빨강으로 표시가 되어야 제맛이다. :)
  R-Project에서 제공하는 Heatmap 으로는 안되고 별도의 패키지를 설치하여야 하며, 이 경우에는 gplots 패키지를 설치해야 한다. 그러면 heatmap.2 라는 명령어를 사용할 수 있으며, 이 명령어를 통해서 쉽게 만들 수 있다.

library(gplots)
heatmap.2(abc, col=redgreen(75), trace="none", density.info="none", hclustfun=my.hclust, distfun=my.dist)

아직 trace, density.info 에 대한 것은 확인하지 못했다. 없어도 늘 보는 것들과 차이가 없다는 점에서 필요 없을 것 같기는 하다. :)



저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

Array data 살펴 보기 - Simple  (0) 2010/05/26
Array data 살펴 보기 - 삽질편  (0) 2010/05/26
Green-Black-Red heatmap  (0) 2010/05/24
Heatmap 만들기  (0) 2010/05/16
Chip data 찾아보기..  (0) 2010/05/05
McNemar Test  (0) 2009/10/11
Trackback 0 Comment 0
2010/05/22 20:56

외계어


  국립중앙박물관에서 하고 있는 목조건축에 관한 주제를 가진 곳에서 찍었다. 솔직히 말해서 무슨 말 하는지 모르겠다. 의학용어를 전혀 모르는 사람에게 학술 대회나 연수 강좌에 가라고 하면 같은 반응이 나올 듯. ㅡㅡ
저작자 표시 비영리 동일 조건 변경 허락

'주저리 주저리' 카테고리의 다른 글

APCN 2010  (0) 2010/05/30
도서관 서비스  (0) 2010/05/30
외계어  (0) 2010/05/22
t_delta ~~~ too short  (0) 2010/05/20
가짜 트레비 분수??  (0) 2010/05/17
FreeNAS 시험 테스트 중  (0) 2010/05/15
Trackback 0 Comment 0
2010/05/21 23:00

IgA nephropathy

 IgA nephropathy is a glomerular disease in which glomerular immunohistologic staining for IgA is more intense or equally intense as staining for IgG and IgM.

  IgA 신증은 꽤 흔하게 볼 수 있는 질환이기 때문에 정의를 꼭 알아야 하는 질환이다. 딸랑 저 한줄 뿐만이 아니라 다른 배제 기준이 있기는 하지만 기본이 가장 중요하고 길면 잘 안외워지니깐.. :)


Reference:
AFIP(Armed Forces Institute of Pathology) 에서 출간된 Non-Neoplastic Kidney Diseases
저작자 표시 비영리 동일 조건 변경 허락

'Pathology' 카테고리의 다른 글

Categories and Subtypes of Neuroblastic Tumors  (0) 2010/07/13
Antibody-mediated rejection  (0) 2010/06/25
IgA nephropathy  (0) 2010/05/21
파견 가기 힘드네..  (0) 2010/05/10
Medical Kidney  (0) 2010/05/04
pN1c  (0) 2010/04/18
Trackback 0 Comment 0