문제

다음 데이터 프레임이 결과가있는 경우 결과

> result
     Name       CV      LCB       UCB
1  within 2.768443 1.869964  5.303702
2 between 4.733483 2.123816 18.551051
3   total 5.483625 3.590745 18.772389

> dput(result,"")
structure(list(Name = structure(c("within", "between", "total"
), .rk.invalid.fields = list(), .Label = character(0)), CV = c(2.768443, 
4.733483, 5.483625), LCB = c(1.869964, 2.123816, 3.590745), UCB = c(5.303702, 
18.551051, 18.772389)), .Names = c("Name", "CV", "LCB", "UCB"
), row.names = c(NA, 3L), class = "data.frame")

이 데이터를 멋지게 제시하는 가장 좋은 방법은 무엇입니까? 이상적으로는 보고서에 붙여 넣을 수있는 이미지 파일이나 테이블을 나타내는 HTML 파일을 원하십니까?

중요한 수치의 수를 설정하기위한 추가 포인트.

도움이 되었습니까?

해결책

나는 사용할 것이다 xtable. 나는 보통 weave와 함께 사용합니다.

library(xtable)
d <- data.frame(letter=LETTERS, index=rnorm(52)) 
d.table <- xtable(d[1:5,])
print(d.table,type="html")

Sweave 문서에서 사용하려면 다음과 같이 사용합니다.

<<label=tab1,echo=FALSE,results=tex>>=
xtable(d, caption = "Here is my caption", label = "tab:one",caption.placement = "top")
@

다른 팁

테이블 측면에서 xtable 패키지는 HTML뿐만 아니라 라텍스 출력 (전문 보고서를 위해 스웨브를 통해 사용할 수 있음)을 생성 할 수 있으므로 마음에 듭니다.

멋진 그래프와 묶어 놓으면 (GGPLOT 예제에 대한 다른 질문 참조) 거의 거기에 있습니다.

library(ggplot2)
ggplot(result, aes(x = Name, y = CV, ymin = LCB, ymax = UCB)) + geom_errorbar() + geom_point()
ggplot(result, aes(x = Name, y = CV, ymin = LCB, ymax = UCB)) + geom_pointrange()

예쁜 테이블을 만드는 것에 대해서는 언급 할 수 없지만 중요한 인물을 설정하기 위해 가장 쉬운 일 (이 샘플 데이터에 대해)은 이름을 rownames로 이동하고 모든 것을 반올림하는 것입니다.

#Set the rownames equal to Name - assuming all unique
rownames(result) <- result$Name  
#Drop the Name column so that round() can coerce
#result.mat to a matrix
result.mat <- result[ , -1]       
round(result.mat, 2) #Where 2 = however many sig digits you want.            

이것은 끔찍한 강력한 솔루션이 아닙니다. 비 유니 키 이름 값은 다른 비 언어 열과 마찬가지로 끊어 질 것이라고 생각합니다. 그러나 예와 같은 테이블을 만들기 위해서는 트릭을 수행합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top