Generating frequency tables and cross-tabulations

table(x) ગણે છે કે દરેક શ્રેણી કેટલી વાર આવે છે, table(a, b) બે શ્રેણીગત variables ને જાળીમાં ગૂંથે છે, અને prop.table() બંનેને પ્રમાણમાં ફેરવે છે: લેબલના data માટેની સારાંશની ઓજારપેટી.

9 min read · 9 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

એ ખાનાં જેને mean() અડી શકતું નથી

CampusPulse ના survey નો અડધો ભાગ લેબલ છે: શહેર, stay, તમે ફરી કોડ કરેલા વપરાશના પટ્ટા. mean(survey$city) અર્થહીન છે (એકમ 1 નો સૌથી જૂનો નિયમ).

છતાં લેબલ વિશેના ડીનના પ્રશ્નો સાવ આંકડાકીય છે: દરેક શહેરમાંથી કેટલા? શું છાત્રાલયવાસી ભારે વપરાશ તરફ ઢળે છે?

લેબલ ગણવાની ઓજારપેટી એ બે ગિયરવાળું એક function છે: એકલું table() એક variable ગણે છે; એને બે આપો અને એ cross-tabulation બાંધે છે: એ જાળી જ્યાંથી દરેક સામાજિક આંકડો શરૂ થાય છે.

Theory

લીટીની ગણતરી, પછી ગણતરીની જાળી

એક-માર્ગી કોષ્ટક: જાણીતું ગણતરીનું પાનું: forms વંચાય એમ દરેક શહેર નીચે એક લીટી: સુરત |||| ||, નવસારી |||.

Cross-tab: ગણતરીના ખાનાંની જાળી: હરોળ stay (hostel/day) છે, ખાનાં usage (heavy/normal) છે, અને દરેક form બરાબર એક ખાનામાં એક લીટી ઉમેરે છે. પૂરી થયેલી જાળી એવા સંબંધના પ્રશ્નોના જવાબ આપે છે જે કોઈ એક ગણતરીનું પાનું આપી શકતું નથી: એટલે જ એને પોતાનું નામ મળે છે.

Practical

ગણતરી, જાળી, પ્રમાણ

survey <- read.csv("survey_clean.csv")  # city, stay, usage (recoded)

# ONE-WAY: frequency table of a categorical
table(survey$city)
#  bardoli navsari   surat
#        8      16      36

# sorted, most common first
sort(table(survey$city), decreasing = TRUE)

# TWO-WAY: the cross-tabulation (rows = 1st arg, cols = 2nd)
t <- table(survey$stay, survey$usage)
t
#          heavy normal
#   day       6     30
#   hostel   14     10

# proportions: three DIFFERENT questions
prop.table(t)              # share of ALL students per cell
prop.table(t, margin = 1)  # within each ROW (each row sums to 1)
prop.table(t, margin = 2)  # within each COLUMN

# formula spelling + totals
xtabs(~ stay + usage, data = survey)
addmargins(t)              # adds row/column sums

Theory

margin: એ argument જે પ્રશ્ન બદલે છે

એ જ જાળી, પ્રમાણના ત્રણ પ્રશ્ન:

  • prop.table(t): survey કરાયેલા બધા students માંથી કેટલો હિસ્સો દરેક ખાનામાં છે? (ખાનાંનો કુલ સરવાળો 1)
  • margin = 1 (હરોળ): છાત્રાલયવાસીઓમાં, કેટલો હિસ્સો ભારે છે? દરેક હરોળ નો સરવાળો 1: stay નાં જૂથો પાર વપરાશ સરખાવે છે.
  • margin = 2 (ખાનાં): ભારે વપરાશકારોમાં, કેટલો હિસ્સો છાત્રાલયવાસી છે? દરેક ખાનાનો સરવાળો 1.

Hરોળ 'hostel': margin = 1 સાથે 14/(14+10) = 58% ભારે. ડીનનો "શું છાત્રાલયવાસી ભારે તરફ ઢળે છે?" એ margin = 1 નો પ્રશ્ન છે: margin પસંદ કરવો એ જ વિશ્લેષણ છે.

Quiz

ઉપરની જાળીમાંથી (hostel: 14 ભારે, 10 સામાન્ય; day: 6 ભારે, 30 સામાન્ય), ડીન પૂછે છે: "કેટલા ટકા **છાત્રાલયવાસી** ભારે વપરાશકાર છે?" કઈ command અને કઈ સંખ્યા?

  1. prop.table(t, margin = 1): hostel ની હરોળ 14/24 ≈ 58% આપે છે
  2. prop.table(t, margin = 2): heavy નું ખાનું 14/20 = 70% આપે છે
  3. prop.table(t): 14/60 ≈ 23%
  4. table(t): કાચું 14 એ પહેલેથી ટકાવારી છે
Show the answer

prop.table(t, margin = 1): hostel ની હરોળ 14/24 ≈ 58% આપે છે

"છાત્રાલયવાસીઓમાંથી" એ હરોળને આખા તરીકે નક્કી કરે છે: હરોળ પ્રમાણેનું પ્રમાણ, margin = 1: 24 છાત્રાલયવાસીમાંથી 14 ≈ 58%. વિકલ્પ B ઊલટા પ્રશ્નનો જવાબ આપે છે (ભારે વપરાશકારોમાંથી કેટલા છાત્રાલયવાસી: 70%): જુદો, પણ એટલો જ માન્ય પ્રશ્ન જેને બેદરકાર વાચન અદલાબદલ કરે છે. વિકલ્પ C બધા સામે હિસ્સો કાઢે છે. Margin નું argument બરાબર ત્યાં જ છે જ્યાં આ ત્રણ પ્રશ્ન છૂટા પડે છે: પરીક્ષાઓ અને ખરેખરા અહેવાલ બંને એના પર ટકે છે.

Think first

જાળીને વિશ્લેષકની જેમ વાંચો

margin = 1 નું કોષ્ટક દેખાડે છે: hostel → heavy 0.58, normal 0.42; day → heavy 0.17, normal 0.83. Tap કરતાં પહેલાં: પ્રામાણિક એક વાક્યનું તારણ શું છે, અને એની સાથે કઈ સાવચેતી હોવી જ જોઈએ (એકમ 2 એ શીખવી હતી)?

Show the answer

તારણ: છાત્રાલયવાસી દિવસના વિદ્યાર્થી કરતાં ભારે વપરાશકાર હોવાની ઘણી વધુ શક્યતા છે (58% સામે 17%): stay અને usage વચ્ચે મજબૂત સહસંબંધ.

સાવચેતી: સહસંબંધ એ કારણભાવ નથી: છાત્રાલય ભારે વપરાશનું કારણ હોય એ જરૂરી નથી (ખાલી સાંજ, wifi ની પહોંચ, કે છાત્રાલય કોણ પસંદ કરે છે એ બંનેને ચલાવી શકે). Scatter-plot ના પાઠનો નિયમ જાળીઓને પણ લાગુ પડે છે: cross-tabs દેખાડે છે કે બે લેબલ સાથે ખસે છે, ક્યારેય કેમ એ નહીં.

Watch out

કોષ્ટકની લપસણ

પ્રમાણ પુછાયું હોય ત્યારે ગણતરી (અને ઊલટું): પ્રશ્નનું "કેટલા" સામે "કેટલો હિસ્સો" વાંચો.

margin ની ભેળસેળ: margin = 1 હરોળ, margin = 2 ખાનાં: હરોળની અંદરના પ્રશ્નો પરીક્ષાની સામાન્ય ભાષા છે.

NA ચૂપચાપ અદૃશ્ય થાય છે: table() default માં ખૂટતાં મૂલ્યો કાઢી નાખે છે: table(x, useNA = "ifany") એમને દેખાડે છે: હંમેશની જેમ કાણાં જણાવો.

Theory

Cross-tabs આગળ ક્યાં જાય છે

દરેક અભિપ્રાયનું poll ("ઉંમરના જૂથ પ્રમાણે સમર્થન"), દરેક તબીબી અભ્યાસ ("સારવાર પ્રમાણે પરિણામ"), દરેક ગ્રાહક છોડવાનો અહેવાલ ("plan પ્રમાણે રદ") એ ધંધાનાં કપડાં પહેરેલું cross-tab છે: અને પછીના semesters માં કદાચ મળનારી chi-square ની કસોટી એ ખાલી ઔપચારિક રીતે પૂછવાની રીત છે કે જાળીનો સહસંબંધ ખરેખરો છે કે નસીબ. pandas એમને value_counts() અને pd.crosstab() લખે છે: ચોથું ઓજાર, એ જ ગણતરીની જાળી.

Summary

Key takeaways

  • table(x): એક શ્રેણીગત variable માટે આવૃત્તિની ગણતરી: લેબલના data નું mean().
  • table(a, b): cross-tabulation ની જાળી: હરોળ = પહેલું argument, ખાનાં = બીજું.
  • prop.table(t): એકંદર હિસ્સા; margin = 1 હરોળ પ્રમાણે, margin = 2 ખાનાં પ્રમાણે: margin જ પ્રશ્ન છે.
  • xtabs(~ a + b, df) એ સૂત્રની જોડણી છે; addmargins() સરવાળા ઉમેરે છે.
  • table() NA ચૂપચાપ કાઢી નાખે છે: એમને દેખાડવા useNA = 'ifany'.
  • જાળીના સહસંબંધ એ કારણભાવ નથી.
  • Memory hook: ગણતરીનું પાનું, પછી ગણતરીની જાળી.

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Working with Data in R

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Generating frequency tables and cross-tabulations · Statistical Methods and Data Analysis (MDC-03) · Gri-Learn