سؤال

أقوم بإخراج ملف بيانات إلى HTML عبر xtable. أريد إضافة فواصل إلى أرقام في أعمدة من الجدول. لقد تصورت قبل أن أقوم باختراق لصق الخاص بي ، كنت أتحقق مما إذا كان هناك طريقة مبنية للقيام بذلك.

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

المحلول

قد ترغب في التفكير في تحويل العمود باستخدام formatC

> formatC(1:10 * 100000, format="d", big.mark=",")
 [1] "100,000"   "200,000"   "300,000"   "400,000"   "500,000"   "600,000"  
 [7] "700,000"   "800,000"   "900,000"   "1,000,000"

نصائح أخرى

شكر كبير لجوناثان تشانغ على إجابته. formatC يبدو أن تكون وظيفة مفيدة للغاية. هذا ألهمني لقراءة الوثائق الخاصة به ، حيث وجدت prettyNum, ، والتي تحولت إلى حل أنيقة للغاية لمشكلة مماثلة كنت أواجهها. إليك مثالًا لا يقل قابلاً للتطبيق على ما فعلته لإضافة فواصل إلى أرقام في إطار البيانات المسمى enrollment.summary.

xtable(prettyNum(enrollment.summary,big.mark=","))

يمكنك أيضًا محاولة استخدام وسيطة Fuction 'Format.args'

  ## Demonstration of additional formatC() arguments.
  print(fm1.table, format.args = list(big.mark = "'", decimal.mark = ","))

من هنا

https://cran.rstudio.com/web/packages/xtable/xtable.pdf

إليك إجابة متأخرة ، ولكن يمكنك أيضًا استخدامها scales::comma_format على النحو التالي:

library(scales)
values <- c(1000000.789, 8888.23)
comma_format(digits = 12)(values)
## [1] "1,000,000.789" "8,888.230"

للحصول على قيم عدد صحيح فقط ، يمكنك فقط استخدام الفاصلة:

int_vals <- c(1234, 5678)
comma(int_vals)
## [1] "1,234" "5,678"

لتنسيق بعض الملخصات من dplyr, ، هنا رمز Boilerplate:

df %>%
    summarise(mu=mean(big_values),
              min=min(big_values),
              max=max(big_values)) %>%
    mutate_each(funs(prettyNum(., big.mark=",")))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top