सभी expss विशेषज्ञों को नमस्कार (@ग्रेगरी डेमिन, यदि आप इस संदेश को पढ़ते हैं!), इस पैकेज की खोज के कुछ दिनों के बाद, मैंने अच्छी चीजें हासिल कीं, लेकिन फिर भी टैब_* कार्यों के परिवार के साथ जटिल क्रॉसस्टैब बनाने के लिए थोड़ा संघर्ष किया, विशेष रूप से संयोजन बनाने के लिए महत्व परीक्षणों के साथ।
आइए संदर्भ मैनुअल पर दिए गए उदाहरण से शुरू करें:
library(expss)
mtcars %>%
tab_significance_options(keep = "none", sig_labels = NULL, subtable_marks = "greater", mode = "append") %>%
tab_cols(total(), vs, am) %>%
tab_cells(cyl, gear) %>%
tab_stat_cpct() %>%
tab_last_add_sig_labels() %>%
tab_last_sig_cpct() %>%
tab_last_hstack("inside_columns") %>%
tab_pivot(stat_position = "inside_rows")
इस बिंदु से, मुझे नहीं पता कि निम्नलिखित क्रियाएं संभव हैं, और यदि ऐसा है तो कौन सी स्क्रिप्ट चाल चलेंगे:
1) 'फ्री' फ़ंक्शन के साथ गणना और प्रतिशत को साथ-साथ प्रदर्शित करना काफी सरल है, लेकिन यह केवल इसी उद्देश्य तक सीमित है। हम मामलों को क्रॉसस्टैब में कैसे जोड़ सकते हैं? (केस/प्रतिशत/परीक्षण के रूप में, 3 अलग-अलग कॉलम में)
2) डिफ़ॉल्ट रूप से इस उदाहरण में महत्व परीक्षण आउटपुट 0.05 स्तर पर LETTERS है। दोनों मापदंडों को बदला जा सकता है। लेकिन क्या एक ही तालिका गणना में दो महत्व स्तरों को शामिल करना संभव है? की भावना में कुछ:
sig_level = c(0.01, 0.05)
sig_labels = c(LETTERS, letters)
3) आखिरी (शायद एक आसान?), क्या शून्य के प्रदर्शन को मजबूर करने की संभावना है? मेरे पास आवृत्तियों = 0 के साथ कारक स्तर हैं, जो आधार आर तालिकाओं में 0s के साथ प्रदर्शित होते हैं। expss के साथ लेबल रहता है लेकिन पंक्तियाँ/स्तंभ खाली रहते हैं।
दोबारा, शायद मैं जो खोज रहा हूं वह expss के साथ मौजूद नहीं है, लेकिन कम से कम मैं इसके बारे में निश्चित हूं। शुक्रिया!
1 उत्तर
आपका दूसरा बिंदु (दो स्तरीय महत्व) अभी संभव नहीं है। हालाँकि आप विशेष रूप से तैयार तालिका पर अतिरिक्त गणनाओं के साथ दूसरे स्तर के महत्व को जोड़ सकते हैं। 1 और 3 काफी आसान हैं:
library(expss)
data(mtcars)
mtcars %>%
tab_significance_options(keep = "none", sig_labels = NULL, subtable_marks = "greater", mode = "append") %>%
tab_cols(total(), vs, am) %>%
tab_cells(cyl, gear) %>%
# block for cases
tab_stat_cases(label = "cases") %>%
tab_last_add_sig_labels() %>%
# block for percent statistic
tab_stat_cpct(label = "%") %>% # percent
tab_last_add_sig_labels() %>%
tab_last_sig_cpct() %>%
tab_pivot(stat_position = "inside_columns") %>%
# converts NA to zero
recode(as.criterion(is.numeric) & is.na ~ 0, TRUE ~ copy)
अद्यतन: पुनरावृत्ति से बचने के लिए आप श्रृंखला के कुछ हिस्सों को कस्टम फ़ंक्शन के रूप में निर्दिष्ट कर सकते हैं:
library(expss)
data(mtcars)
### tab cols
my_banner = mtcars %>%
tab_cols(total(), vs, am)
### table and formattig
my_custom_table = . %>%
tab_significance_options(keep = "none", sig_labels = NULL, subtable_marks = "greater", mode = "append") %>%
# block for cases
tab_stat_cases(label = "cases") %>%
tab_last_add_sig_labels() %>%
# block for percent statistic
tab_stat_cpct(label = "%") %>% # percent
tab_last_add_sig_labels() %>%
tab_last_sig_cpct() %>%
tab_pivot(stat_position = "inside_columns") %>%
# converts NA to zero
recode(as.criterion(is.numeric) & is.na ~ 0, TRUE ~ copy)
### here we build table
my_banner %>%
tab_cells(cyl, gear) %>%
my_custom_table()