سؤال

إذا كان لدي إطار البيانات التالي يسمى result

> 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 لتمثيل الجدول؟

نقاط اضافية لتحديد عدد من الشخصيات الهامة.

هل كانت مفيدة؟

المحلول

سأستخدم com.xtable.عادةً ما أستخدمه مع Sweave.

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")
@

نصائح أخرى

بالنسبة لجانب الجدول، com.xtable تتبادر إلى الذهن الحزمة لأنها يمكن أن تنتج مخرجات LaTeX (والتي يمكنك استخدامها عبر Sweave للتقارير الاحترافية) بالإضافة إلى html.

إذا قمت بدمج ذلك في Sweave مع الرسوم البيانية الفاخرة (راجع الأسئلة الأخرى للحصول على أمثلة 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